我的MFC类向导里为什么不能重写虚函数了

我的MFC类向导里为什么不能重写虚函数了,第1张

汗 都说是虚函数重载了……/ Overrides // ClassWizard generated virtual function overrides 重新进行声明就是 就是虚函数的覆盖啊 假如说 你继承一个类 要重写虚函数 难道不要重新声明及定义虚函数吗

错误信息说的是"调用重载函数有二义性",ambiguous是二义性的意思,overloaded function是重载函数的意思

也就是说,,题主调用了AddPlant函数,但是由于源文件中有两个AddPlant函数,编译器不知道题主调用的是哪一个,因此程序有二义性,编译器报错

题主可以修改其中一个AddPlant函数的名称,例如将第二个函数改为AddPlant2如果依旧要重载函数的话,两个AddPlant函数的参数列表应该不同,例如第二个AddPlant函数可以增加一个int参数,改为AddPlant(ListType L, int ),想要调用第二个函数就多传入一个int形参

如果题主不想改函数名,也不想改参数列表,只能使用动态绑定,使用重写函数技术,这个要使用类的继承,相信题主也不想把事情搞复杂,有兴趣我们可以继续探讨一下重写和重载的区别

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/12183313.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存