Condividi tramite


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
}