field_in_struct_with_initializer 진단: Struct의 필드에 초기화 값이 있을 때

field_in_struct_with_initializer 진단: Struct의 필드에 초기화 값이 있을 때

Dart 분석기가 내보내는 진단에는 이름이 있어요. field_in_struct_with_initializerdart:ffiStruct를 상속한 클래스에서 필드에 초기화 값을 붙였을 때 분석기가 알려주는 컴파일 타임 진단이에요. 구조체 필드는 네이티브 메모리 레이아웃에 맞춰야 하므로 초기화 값을 넣을 수 없어요.

출처: field_in_struct_with_initializer

본문

설명

분석기는 Struct의 하위 클래스에 있는 필드가 초기화 값을 가질 때 이 진단을 만들어요. FFI에 대한 자세한 내용은 C interop using dart:ffi를 참고해요.

예시

아래 코드는 필드 p에 초기화 값이 있어서 이 진단을 만들어요.

import 'dart:ffi';

final class C extends Struct {
  Pointer p = nullptr;
}

흔한 해결 방법

초기화 값을 제거해요.

import 'dart:ffi';

final class C extends Struct {
  Pointer p;
}

더 알아보기