C ++ for循环初始化计数器错误

时间:2012-12-12 18:06:51

标签: c++

我在C ++中有一个简单的for循环,初始化语句是:

  

for(int n = 0; n< this-> fileLines.size(); n ++){

由于某些疯狂的原因,n的值被设置为不是0而是设置为249758,这导致for循环评估错误。

为什么这会错误地初始化(即,不是0)?

enter image description here

2 个答案:

答案 0 :(得分:6)

我认为你需要在for循环之后验证n的值是什么,我没有看到任何方式这可能是非0。检查开关开始时的值。在实际设置n之前,您的断点可能已经中断。

答案 1 :(得分:0)

你有没有试过坚持

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

for循环内?这似乎是一种更直接的方法,可以在程序运行期间观察值,以验证它是否正在按照您的想法进行操作,优化不会给您带来输出问题。

也许您的程序是多线程的,有人不恰当地写入该内存位置?