跳到主要內容

non_sized_type_argument

型別“{1}”不是“{0}”的有效型別引數。型別引數必須是原生整型、“Float”、“Double”、“Pointer”,或者“Struct”、“Union”或“AbiSpecificInteger”的子型別。

描述

#

當類 Array 的型別引數不是有效型別之一時,分析器會產生此診斷資訊:有效型別包括原生整型、FloatDoublePointer,或者 StructUnionAbiSpecificInteger 的子型別。

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