non_sized_type_argument
型別“{1}”不是“{0}”的有效型別引數。型別引數必須是原生整型、“Float”、“Double”、“Pointer”,或者“Struct”、“Union”或“AbiSpecificInteger”的子型別。
描述
#當類 Array 的型別引數不是有效型別之一時,分析器會產生此診斷資訊:有效型別包括原生整型、Float、Double、Pointer,或者 Struct、Union 或 AbiSpecificInteger 的子型別。
有關 FFI 的更多資訊,請參閱 使用 dart:ffi 的 C 互操作。
示例
#以下程式碼會產生此診斷資訊,因為 Array 的型別引數為 Void,而 Void 不是有效型別之一
dart
import 'dart:ffi';
final class C extends Struct {
@Array(8)
external Array<Void> a0;
}常見修復方法
#將型別引數更改為有效型別之一
dart
import 'dart:ffi';
final class C extends Struct {
@Array(8)
external Array<Uint8> a0;
}