例如,在代码中:
bool foo = bar || baz();
函数 baz()
可能不会被调用。我发现这对我来说是一个常见的错误来源,我想知道 GCC 是否有办法打印警告。
最佳答案
这个没有警告标志,它会为太多常见条件生成警告 (if(condition) bar();
, if(foo && foo->bar ) baz();
等)。
相反,做类似的事情:
bool foo = baz() || bar;
或者这个:
bool foo = bar | baz();
这些无条件调用baz()
。
关于c++ - 当短路评估可能导致函数未被调用时,是否有 gcc 警告标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58052516/