Udostępnij za pośrednictwem


Ostrzeżenie kompilatora (poziom 4) C4623

'derived class' : konstruktor domyślny został niejawnie zdefiniowany jako usunięty

Ponieważ domyślny konstruktor jest usuwany lub niedostępny w klasie bazowej, kompilator nie może wygenerować domyślnego konstruktora dla klasy pochodnej. Próby utworzenia obiektu tego typu przy użyciu domyślnego konstruktora (na przykład w tablicy) powodują błąd kompilatora.

To ostrzeżenie jest domyślnie wyłączone. Aby uzyskać więcej informacji, zobacz Ostrzeżenia kompilatora, które są domyślnie wyłączone.

Przykład

Poniższy przykład generuje 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
}