我有两个功能:
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
骗我吗?
解决方案:我的代码的先前版本没有f()
在 if 语句中包含对的调用。我忘了重新编译,所以消息来源让我相信这个电话在那里,但事实并非如此。https://stackoverflow.com/a/19989652/1566525