Udostępnij za pośrednictwem


Compiler Warning (level 4) C4623

'derived class' : default constructor could not be generated because a base class default constructor is inaccessible

A constructor was not accessible in a base class and was therefore not generated for a derived class. Any attempt to create an object of this type on the stack will cause a compiler error.

This warning is off by default. See Compiler Warnings That Are Off by Default for more information.

Example

The following sample generates C4623.

// C4623.cpp
// compile with: /W4
#pragma warning(default : 4623)
class B {
   B();
};

class C {
public:
   C();
};

class D : public B {};   // C4623 make B's constructor public
class E : public C {};   // OK

int main() {
   // D d;  will cause an error
}