Gil*_*evi 16 c++ watch visual-studio
我遇到了VS 2012中最奇怪的行为(我在用cpp写作).
我在变量上单击"添加监视",并显示"标识符未定义".
这是代码的示例:
for (int j=0;j<32;j++)
{
unsigned char curValue=desc1.at<unsigned char>(0,j);
printf("%s\n",curValue);
}
Run Code Online (Sandbox Code Playgroud)
我不得不使用printf来显示curValue的值.大声笑.
有没有人遇到过这种行为?
编辑:发生这种情况更奇怪.调试以下代码时:
int b1[8];
for (int k=0;k<7;k++)
b1[k]=0;
char q=curValue;
int t=0;
while (q!=0){
b1[t++]=q%2;
q=q/2;
}
Run Code Online (Sandbox Code Playgroud)
调试器只是跳过b1 [k] = 0的循环;
请注意,即使在循环内部,curValue也是未定义的.
谢谢!
Muh*_*eeb 23
正如约阿希姆所说:curValue是在循环中定义的.如果visual studio中的监视窗口将其视为未定义的值,则应关闭编译器优化.
编译器优化默认为/ O2优化速度.要关闭它:

| 归档时间: |
|
| 查看次数: |
13226 次 |
| 最近记录: |