你基类的析构函数没有定义为虚析构函数virtual ~~Base(){};
其次将你的class Base2:public Base改为class Base2:virtual public Base就通过了
我对virtual的概念很不清,但只要碰到二义性问题加virtual就是王道,你的代码我看都没怎么看
在class Base2:public Base没加virtual的情况果断加上就通过
其实对于公共基类Base说明为虚基类的话那么只会派生Base中的一个函数了,不然base2派生出的子类会有base2类中的一个函数和Base类中的一个函数
从而2义了.
[ 本帖最后由 xg5699 于 2011-7-30 22:59 编辑 ]
其次将你的class Base2:public Base改为class Base2:virtual public Base就通过了
我对virtual的概念很不清,但只要碰到二义性问题加virtual就是王道,你的代码我看都没怎么看
在class Base2:public Base没加virtual的情况果断加上就通过
其实对于公共基类Base说明为虚基类的话那么只会派生Base中的一个函数了,不然base2派生出的子类会有base2类中的一个函数和Base类中的一个函数
从而2义了.
[ 本帖最后由 xg5699 于 2011-7-30 22:59 编辑 ]
都不结贴我郁闷那!