E2353 クラス 'classname' は抽象クラス('member = 0 = 0' のため) (C++)

提供: RAD Studio
移動先: 案内検索

コンパイラのエラーと警告(C++):インデックス への移動

このメッセージは,「Cannot create instance of abstract class 'classname'」エラーメッセージの直後に表示され,コンパイラが特定のクラスを抽象と判断した理由を明確にします。

たとえば,抽象クラスをインスタンス化しようとする次の不正な例を考えます。



 struct VB
 {
 virtualvoid  f() = 0;
 virtualvoid  g() = 0;
 virtualvoid  h() = 0;
 };
 struct D1 : virtual VB
 {
 void   f();
 };
 struct D2 : virtual VB
 {
 void   h();
 };
 struct DD : D1, D2
 {
 }
 v;   // エラー 'DD' は抽象クラスです。



上のコードでは,次の 2 つのメッセージが表示されます。



 Error TEST.CPP 21: Cannot create instance of abstract class 'DD'



 Error TEST.CPP 21: Class 'DD' is abstract because of 'VB::g() = 0'