field_initializer_in_struct 진단: Struct·Union 하위 클래스의 생성자에는 필드 초기화를 못 써요
field_initializer_in_struct 진단: Struct·Union 하위 클래스의 생성자에는 필드 초기화를 못 써요
Dart 분석기가 내보내는 진단에는 이름이 있어요. field_initializer_in_struct는 Struct나 Union의 하위 클래스에 있는 생성자가 필드 초기화를 가질 때 분석기가 알려주는 진단이에요.
본문
설명
Struct나 Union의 하위 클래스에 있는 생성자가 필드 초기화를 하나라도 가지면 이 진단이 나와요. FFI에 대한 자세한 내용은 dart:ffi를 사용한 C 상호운용 문서를 참고해요.
예시
다음 코드는 클래스 C가 필드 f를 초기화하는 생성자를 가지기 때문에 이 진단이 나와요.
// @dart = 2.9
import 'dart:ffi';
final class C extends Struct {
@Int32()
int f;
C() : f = 0;
}
흔한 해결 방법
필드 초기화를 빼요.
// @dart = 2.9
import 'dart:ffi';
final class C extends Struct {
@Int32()
int f;
C();
}