跳到主要內容

非正陣列維度

陣列維度必須是正數。

描述

#

Array 註解中給定的維度小於或等於零(0)時,分析器會產生此診斷資訊。

有關 FFI 的更多資訊,請參閱使用 dart:ffi 進行 C 語言互操作

示例

#

以下程式碼產生此診斷資訊,因為提供了陣列維度 -8

dart
import 'dart:ffi';

final class MyStruct extends Struct {
  @Array(-8)
  external Array<Uint8> a0;
}

常見修復方法

#

將維度更改為正整數

dart
import 'dart:ffi';

final class MyStruct extends Struct {
  @Array(8)
  external Array<Uint8> a0;
}

如果這是一個可變長度的內聯陣列,請將註解更改為 Array.variable()

dart
import 'dart:ffi';

final class MyStruct extends Struct {
  @Array.variable()
  external Array<Uint8> a0;
}