我有此C++怪異鑽石繼承問題
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 &Ç像繼承:class D: public B, public C
d具有虛擬函數,原型如下:
virtual D* clone(void) const {};
現在,當編譯我得到以下6行錯誤:
error C2250: 'D' : ambiguous inheritance of 'B *A::clone(void) const'
沒有fre aking的想法如何解決這個問題。
在此先感謝。
「我得到以下6行錯誤:」你錯過了其他5。 – 2010-08-28 22:06:14
我的意思是,我得到了5次完全相同的錯誤... – snoofkin 2010-08-28 22:07:57
哦,我忘了奇怪的C++編譯器錯誤可能是... – 2010-08-28 22:12:20