Bagikan melalui


Compiler Warning (level 4) C4623

'derived class' : konstruktor default secara implisit didefinisikan sebagai dihapus

Karena konstruktor default dihapus atau tidak dapat diakses di kelas dasar, pengkompilasi tidak dapat menghasilkan konstruktor default untuk kelas turunan. Upaya untuk membuat objek jenis ini dengan menggunakan konstruktor default (misalnya, dalam array) menyebabkan kesalahan kompilator.

Peringatan ini nonaktif secara default. Untuk informasi selengkapnya, lihat Peringatan pengkompilasi yang nonaktif secara default.

Contoh

Sampel berikut menghasilkan 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
}