Aviso do compilador (nível 4) C4623
'
derived class
' : o construtor padrão foi implicitamente definido como excluído
Como o construtor padrão é excluído ou inacessível em uma classe base, o compilador não pode gerar um construtor padrão para a classe derivada. As tentativas de criar um objeto desse tipo usando o construtor padrão (por exemplo, em uma matriz) causam um erro do compilador.
Esse aviso está desativado por padrão. Para obter mais informações, confira Avisos do compilador desativados por padrão.
Exemplo
O exemplo a seguir gera o erro 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
}