2

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

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

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

任何想法为什么这是初始化错误(即,不为 0)?

在此处输入图像描述

4

2 回答 2

6

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

于 2012-12-12T18:22:35.203 回答
0

你试过坚持

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

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

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

于 2012-12-12T18:38:11.470 回答