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

field_initialized_by_multiple_initializers

フィールド '{0}' は、同じコンストラクタで二度初期化することはできません。

説明

#

コンストラクタの初期化子リストでフィールドが複数回初期化されると、アナライザーはこの診断を生成します。両方の初期化子を許可する値はありません。なぜなら、最後に代入された値のみが保持されるからです。

#

以下のコードは、フィールド f が二度初期化されているため、この診断を生成します。

dart
class C {
  int f;

  C() : f = 0, f = 1;
}

一般的な修正

#

初期化子を一つ削除してください。

dart
class C {
  int f;

  C() : f = 0;
}