C++;for循环初始化计数器错误 我在C++中有一个简单的for循环,初始化语句是:

C++;for循环初始化计数器错误 我在C++中有一个简单的for循环,初始化语句是:,c++,C++,对于(int n=0;nfileLines.size();n++){ 出于某种疯狂的原因,n的值被设置为249758而不是0,这导致For循环的计算错误 知道为什么初始化错误(即不是0)吗 我认为您需要在for循环后验证n的值是多少,我看不出有任何方法可以不为0。检查开关开始处的值。您的断点可能在n实际设置之前中断。您是否尝试过粘住 std::cerr<<n<<std::endl; std::cerrAgreed。屏幕截图显示行n=0;即将执行,但尚未执行。开关从未执行

对于(int n=0;nfileLines.size();n++){

出于某种疯狂的原因,n的值被设置为249758而不是0,这导致For循环的计算错误

知道为什么初始化错误(即不是0)吗


我认为您需要在for循环后验证n的值是多少,我看不出有任何方法可以不为0。检查开关开始处的值。您的断点可能在n实际设置之前中断。

您是否尝试过粘住

std::cerr<<n<<std::endl;

std::cerrAgreed。屏幕截图显示行
n=0;
即将执行,但尚未执行。开关从未执行…如果在开关中放置断点,它将永远不会触发。循环从未发生,因为n>size()此->fileLines.size()的值是多少?经过一番周旋,似乎发生了如下情况:(1)我被调试器搞糊涂了。n似乎已声明但未初始化;(2)它永远不会被初始化,因为正如@jeremy正确指出的那样,变量值永远不会大于0;教训是:彻底地对代码进行单元测试。您是在调试模式还是发布模式下构建的?通常,由于优化,当您查看变量值时,发布模式无法为您提供正确的值。看起来您之前已经停止了
n
已初始化。如果按一条指令前进,会发生什么情况?