Problème:C++ héritage virtuel
class Base {
public:
Base(Base* pParent);
/* implements basic stuff */
};
class A : virtual public Base {
public:
A(A* pParent) : Base(pParent) {}
/* ... */
};
class B : virtual public Base {
public:
B(B* pParent) : Base(pParent) {}
/* ... */
};
class C : public A, public B {
public:
C(C* pParent) : A(pParent), B(pParent) {} // - Compilation error here
/* ... */
};
à la position donnée, gcc se plaint qu'il ne peut pas correspondre à l'appel de fonction à la base(), à savoir le constructeur par défaut. Mais C n'hérite pas directement de Base, seulement par A et B. Alors pourquoi gcc se plaint ici?
Des idées? TIA /Rob
La compilation est faite sans-RTTI ensemble, peut-être un problème? – Robert
Non, l'héritage est une chose à la compilation, RTTI ne sera pas nécessaire. – GManNickG