メインコンテンツにスキップ

missing_field_type_in_struct

structクラスのフィールドには、'int'、'double'、または'Pointer'の明示的に宣言された型が必要です。

説明

#

StructまたはUnionのサブクラス内のフィールドに型注釈がない場合、アナライザーはこの診断を生成します。すべてのフィールドには明示的な型が必要であり、その型はintdoublePointer、またはStructまたはUnionのいずれかのサブクラスである必要があります。

FFI の詳細については、dart:ffi を使用した C の相互運用 を参照してください。

#

以下のコードは、フィールドstrに型注釈がないため、この診断を生成します。

dart
import 'dart:ffi';

final class C extends Struct {
  external var str;

  @Int32()
  external int i;
}

一般的な修正

#

フィールドの型を明示的に指定してください

dart
import 'dart:ffi';
import 'package:ffi/ffi.dart';

final class C extends Struct {
  external Pointer<Utf8> str;

  @Int32()
  external int i;
}