Closed. This question is not reproducible or was caused by typos。它当前不接受答案。












想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。

6年前关闭。



Improve this question




我有两个功能:
bool f() const
int g() const

有问题的if语句位于while循环内,如下所示:
while(/*get next element*/){
  if ( f() || g() == 5 ) continue;
  // Do some stuff...
}
gdb告诉我f()返回TRUE;但是,没有执行continue。该程序在循环主体中更进一步以“做一些事情”。

这里有什么问题? gdb对我说谎吗?

解决方案:我的代码的先前版本未在if语句中包括对f()的调用。我忘了重新编译,因此消息来源让我相信电话在那里,但事实并非如此。 https://stackoverflow.com/a/19989652/1566525

最佳答案



以为我重新编译了,但显然没有。希望该警告更加突出。

我的上一个修订版本没有调用f()

关于c++ - 如果条件返回true,则函数内部,但不进入主体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19989396/

10-11 22:53