メインコンテンツにスキップ

size_annotation_dimensions

「Array」は、次元と一致する「Array」アノテーションが必要です。

説明

#

アナライザーは、Array アノテーションで指定された次元の数が、フィールドの型によって指定されたネストされた配列の数と一致しない場合に、この診断を生成します。

FFI の詳細については、dart:ffi を使用した C の相互運用 を参照してください。

#

以下のコードは、フィールド a0 の型が 3 つのネストされた配列であり、Array アノテーションで 2 つの次元しか指定されていないため、この診断を生成します。

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