missing_field_type_in_struct
struct 類中的欄位必須具有顯式宣告的型別,型別為 'int'、'double' 或 'Pointer'。
描述
#當 `Struct` 或 `Union` 子類中的欄位沒有型別註解時,分析器會生成此診斷資訊。每個欄位都必須有一個顯式型別,且該型別必須是 `int`、`double`、`Pointer`,或者 `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;
}