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