class A{ virtual voID func1();}class B : public A{}class C : public A{ virtual voID func1();}class D : public B,public C{}int main(){ D d; d.func1(); // Causes warning}
根据我所看到的,应该可以做到这一点:
class D : public B,public C{ using B::func1();}
但是,这实际上并没有做任何事情.我目前解决的方法是:
class D : public B,public C{ virtual voID func1() { B::func1(); }}
大家对此有何看法?
解决方法 你尝试从A类继承公共虚拟机吗?我认为应该解决它.class B :public virtual A; class C :public virtual A; class D : public virtual B,public virtual C;
虚拟继承假设解决了歧义.
总结以上是内存溢出为你收集整理的c – Visual Studio编译器警告C4250(‘class1’:通过支配继承’class2 :: member’)全部内容,希望文章能够帮你解决c – Visual Studio编译器警告C4250(‘class1’:通过支配继承’class2 :: member’)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)