invalid_field_type_in_struct
結構體類中的欄位不能是型別“{0}”。它們只能宣告為“int”、“double”、“Array”、“Pointer”或“Struct”或“Union”的子型別。
描述
#當 Struct 的子類中的欄位型別不是 int、double、Array、Pointer 或 Struct 或 Union 的子型別時,分析器會生成此診斷資訊。
有關 FFI 的更多資訊,請參閱 使用 dart:ffi 的 C 互操作。
示例
#以下程式碼會產生此診斷資訊,因為欄位 str 的型別為 String,這不是 Struct 子類欄位的允許型別之一
dart
import 'dart:ffi';
final class C extends Struct {
external String s;
@Int32()
external int i;
}常見修復方法
#使用該欄位允許的型別之一
dart
import 'dart:ffi';
import 'package:ffi/ffi.dart';
final class C extends Struct {
external Pointer<Utf8> s;
@Int32()
external int i;
}