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

未定義_コンストラクタ_初期化子内

クラス '{0}' には '{1}' という名前のコンストラクタが定義されていません。

クラス「{0}」には名前のないコンストラクタがありません。

説明

#

スーパークラスのコンストラクタがコンストラクタの初期化子リストで呼び出されますが、スーパークラスが呼び出されたコンストラクタを定義していない場合に、アナライザはこの診断を生成します。

#

以下のコードは、A に名前のないコンストラクタが定義されていないため、この診断を生成します。

dart
class A {
  A.n();
}
class B extends A {
  B() : super();
}

以下のコードは、Am という名前のコンストラクタが定義されていないため、この診断を生成します。

dart
class A {
  A.n();
}
class B extends A {
  B() : super.m();
}

一般的な修正

#

スーパークラスで呼び出すべきコンストラクタが定義されている場合は、呼び出されるコンストラクタを変更してください。

dart
class A {
  A.n();
}
class B extends A {
  B() : super.n();
}

スーパークラスで適切なコンストラクタが定義されていない場合は、呼び出されるコンストラクタを定義してください。

dart
class A {
  A.m();
  A.n();
}
class B extends A {
  B() : super.m();
}