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