c ++虚拟继承
问题:
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
/* ... */};在给定的位置,gcc抱怨它无法匹配函数调用Base(),即默认构造函数。但是C不直接从Base继承,只通过A和B.那么为什么gcc会在这里抱怨?
想法?TIA / Rob
PIPIONE
波斯汪
收到一只叮咚
慕虎7371278
随时随地看视频慕课网APP
相关分类