问题:
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
/* ... */
};
在给定的位置,海湾合作委员会抱怨说,它无法比拟的函数调用基地(),即默认的构造函数。 但是C没有直接继承基础,只有通过A和B.那么,为什么GCC抱怨吗?
想法? TIA /罗布