哪个顺序是&&运算符评估
例如下面的代码
if (float alpha = value1-value2 && alpha > 0.001) //do something
抛出一个异常,使用alpha而不被启动.
我想到了&&&&将始终启动alpha的值,但似乎我可能是错误的
任何想法?
谢谢
解决方法
这被解析为:
if (int alpha = (value1-value2 && (alpha > 0.001)))
…因为&&具有比“ – ”更高的“解析优先级” – 这可能不是你想要的.尝试:
int alpha = value1-value2; if (alpha && (alpha > 0.001))