我有这个
A
/ \
B C
\ /
D
A 有一个纯虚函数,原型为:
virtual A* clone(void) const = 0;
B 和 C 实际上继承自 A ( class B: public virtual A
, class C: public virtual A
)
B 具有虚函数,原型为:
virtual B* clone(void) const {};
C具有虚函数,原型为:
virtual C* clone(void) const {};
D 像这样从 B 和 C 继承:class D: public B, public C
D 具有虚函数,原型为:
virtual D* clone(void) const {};
现在,编译时出现以下 6 行错误:
error C2250: 'D' : ambiguous inheritance of 'B *A::clone(void) const'
不知道如何解决这个问题。
提前致谢。