我有这个
A
/ \
B C
\ /
D
一个类有一个纯虚函数,原型为:
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'
我完全不知道如何解决这个问题。
提前感谢。