编译器警告(等级 4)C4623
“
derived class
”:已将默认构造函数隐式定义为“已删除”
由于默认构造函数在基类中被删除或不可访问,因此编译器无法为派生类生成默认构造函数。 尝试使用默认构造函数(例如数组中)创建此类型的对象会导致编译器错误。
默认情况下,此警告处于关闭状态。 有关详细信息,请参阅默认关闭的编译器警告。
示例
下面的示例生成 C4623。
// C4623.cpp
// compile with: /W4
#pragma warning(default : 4623)
class B {
B();
};
class C {
public:
C();
};
class D : public B {}; // C4623 - to fix, make B's constructor public
class E : public C {}; // OK - class C constructor is public
int main() {
// D d; // Error C2280
}