跳到主要內容

size_annotation_dimensions

'Array' 必須具有與其維度匹配的 'Array' 註解。

描述

#

Array 註解中指定的維度數量與欄位型別指定的巢狀陣列數量不匹配時,分析器會產生此診斷資訊。

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

示例

#

以下程式碼產生此診斷資訊,因為欄位 a0 的型別包含三個巢狀陣列,但在 Array 註解中只給出了兩個維度

dart
import 'dart:ffi';

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

常見修復

#

如果欄位型別正確,則修改註解以包含所需的維度數量

dart
import 'dart:ffi';

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

如果欄位型別錯誤,則修改欄位型別

dart
import 'dart:ffi';

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