Compartir vía


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
}