Avviso del compilatore (livello 4) C4623
'
derived class
': il costruttore predefinito è stato definito in modo implicito come eliminato
Poiché il costruttore predefinito viene eliminato o inaccessibile in una classe di base, il compilatore non può generare un costruttore predefinito per la classe derivata. I tentativi di creare un oggetto di questo tipo usando il costruttore predefinito (ad esempio, in una matrice) generano un errore del compilatore.
Per impostazione predefinita, questo avviso non è attivo. Per altre informazioni, vedere Avvisi del compilatore disattivati per impostazione predefinita.
Esempio
L'esempio seguente genera l'errore 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
}