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;
}