这是WTF城市。
几千次循环后,以下程序崩溃。
unsigned long int nTurn = 1;
bool quit = false;
int main(){
while(!quit){
doTurn();
++nTurn;
}
}
当然,这是从我的游戏中简化的,但是nTurn目前仅在增加它的地方使用,当我注释掉++ nTurn行时,该程序将永远可靠地循环。它不应该成千上万吗?
WTF,stackoverflow?
最佳答案
您的问题在别处。
该程序的其他部分正在读取一个通配指针,该指针最终指向nTurn
,当此循环更改值时,其他代码将执行不同的操作。或存在比赛条件,增量会使此循环花费一点点时间,因此不会引起比赛的麻烦。您在其他地方可能犯了无数错误。
您可以在valgrind下运行程序吗?它不会发现一些错误,但是会发现很多错误。
关于c++ - C++在增加一个无符号长整数时崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5345682/