Share via


編譯器警告 (層級 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
}