undefined_constructor_in_initializer
类 '{0}' 没有名为 '{1}' 的构造函数。
类 '{0}' 没有未命名的构造函数。
描述
#当在构造函数的初始化列表中调用超类构造函数,但超类未定义该构造函数时,分析器会生成此诊断信息。
示例
#以下代码会生成此诊断信息,因为 A
没有未命名的构造函数
dart
class A {
A.n();
}
class B extends A {
B() : super();
}
以下代码会生成此诊断信息,因为 A
没有名为 m
的构造函数
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();
}