Problem:C++ virtual spadkowe
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
/* ... */
};
W pozycji danej gcc narzeka, że nie może się równać funkcji połączenia do bazy(), czyli konstruktora domyślnego. Ale C nie dziedziczy bezpośrednio od Bazy, tylko przez A i B. Dlaczego więc Gcc narzeka tutaj?
Pomysły? TIA /Rob
Kompilacja odbywa się bez-RTTI zestawie, może być problem? – Robert
Nie, dziedziczenie jest kompilacją, RTTI nie będzie wymagane. – GManNickG