我最近刚刚花了一些时间来找出我的代码中由错字引起的错误:
if (a=b)
代替:
if (a==b)
我想知道是否有任何特殊情况需要在 if
语句中为变量赋值,或者如果没有,为什么编译器不抛出警告或错误?
原文由 Smash 发布,翻译遵循 CC BY-SA 4.0 许可协议
我最近刚刚花了一些时间来找出我的代码中由错字引起的错误:
if (a=b)
代替:
if (a==b)
我想知道是否有任何特殊情况需要在 if
语句中为变量赋值,或者如果没有,为什么编译器不抛出警告或错误?
原文由 Smash 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答1.3k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
4 回答843 阅读
1 回答919 阅读
1 回答954 阅读
1 回答719 阅读
1 回答819 阅读
尽管这经常被引用为反模式(“使用虚拟调度!”),但有时
Derived
类型具有Base
根本没有的功能(因此,不同的功能),这是打开语义差异的好方法。