Advertencia del compilador (nivel 4) C4623
'
derived class
': el constructor predeterminado se definió implícitamente como eliminado
Dado que el constructor predeterminado se elimina o no es accesible en una clase base, el compilador no puede generar un constructor predeterminado para la clase derivada. Los intentos de crear un objeto de este tipo mediante el constructor predeterminado (por ejemplo, en una matriz) provocan un error del compilador.
De forma predeterminada, esta advertencia está desactivada. Para más información, consulte Advertencias del compilador desactivadas de manera predeterminada.
Ejemplo
El ejemplo siguiente genera 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
}