这是带有注释的相关问题代码
// right now hack=1 & i=4(both integers)
while(hack<i) //loop begins
{
hack++;
Linklist<node*> z=advancer(l);
//Linklist is my own class, node is my own object type
//l(type same as z) is predefined before the loop, and advancer is a function.
//Interestingly, l=advancer(l) doesnt work directly so i introduce z
//which i do not understand why.
l=z;
cout<<"print" //just to confirm code reaches here, Yes it does
}
//while loop doesnt execute again,checked by a cout statement in beginning.
因此,如果 while 循环一直到最后一行,为什么不再执行?C++ 有时让我吃惊,但这是我见过的最令人惊奇的事情,而且我一无所知,因为这是非常基本的代码,内部似乎没有任何范围是错误的。请帮忙。各种可能的错误源将不胜感激。
我的实际程序太大(1000 行),所以我不打扰提供其他功能的背景,因为我认为它不相关。如果有人在这里的事情可能是一个原因并且愿意倾听,我很想详细说明:)
我能想到的一件事可能是该函数正在被计算,因此它同时执行了 cout,但这只是一个猜测。