Поделиться через


Предупреждение компилятора (уровень 4) C4623

'derived class' : конструктор по умолчанию был неявно определен как удаленный

Так как конструктор по умолчанию удаляется или недоступно в базовом классе, компилятор не может создать конструктор по умолчанию для производного класса. Пытается создать объект этого типа с помощью конструктора по умолчанию (например, в массиве) вызвать ошибку компилятора.

Это предупреждение отключено по умолчанию. Дополнительные сведения см. в разделе "Предупреждения компилятора", отключенные по умолчанию.

Пример

Следующий пример приводит к возникновению ошибки 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
}