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