E2353 La classe 'classe' est abstraite car 'membre = 0' (C++)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Erreurs et avertissements du compilateur (C++) - Index

Ce message s'affiche immédiatement après le message "Impossible de créer une instance de la classe abstraite 'classe'". Il vous permet de comprendre pourquoi une classe précise est considérée comme abstraite par le compilateur.

Considérez l'exemple suivant de tentative illégale d'instanciation d'une classe abstraite :



 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; // erreur : 'DD' est une classe abstraite



Le code ci-dessus générerait les deux messages d'erreur suivants :



 Error TEST.CPP 21: Impossible de créer une instance de la classe abstraite 'DD'



 Error TEST.CPP 21: La classe 'DD' est abstraite à cause de 'VB::g() = 0'