class A包含属性s;
class B继承A;
class C继承A;
class D继承B,C;
D中重载set_s()方法。
code::blocks 编译出错:error: reference 's' is ambiguous
了解一下虚继承吧。冲突了。分别在B,C继承A的时候使用 class B:public virtual A
可以解决
这是典型的菱形继承,也就是说A中包含了一个s,BC因为继承了A,都有s,而从D访问s的时候,就不知道是C的s还是B的s了。
可以把s申明成virtual的。
十分感谢楼上的答案!
可以看看我的主页的一篇文章,已成功解决