gpt4 book ai didi

c++ - 添加 watch 显示未定义标识符visual studio 2012,cpp

转载 作者:IT老高 更新时间:2023-10-28 22:17:47 27 4
gpt4 key购买 nike

我在 VS 2012 中遇到了最奇怪的行为(我正在用 cpp 编写)。

我在一个变量上单击“添加监视”,它显示“标识符未定义”。

下面是代码示例:

for (int j=0;j<32;j++)
{
unsigned char curValue=desc1.at<unsigned char>(0,j);
printf("%s\n",curValue);
}

我不得不使用 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;
}

调试器只是跳过 b1[k]=0; 的循环

请注意,即使在循环内部,curValue 也是未定义的。

谢谢!

最佳答案

正如 Joachim 所说:curValue 是在循环内定义的。如果 Visual Studio 中的监 window 口将其视为未定义值,则应关闭编译器优化。

编译器优化默认为/O2 优化速度。关闭它:

  • 进入项目,右键选择属性
  • 配置属性->C/C++->优化
  • 选择优化,并将其从最大化速度 (/O2) 更改为禁用 (/Od) enter image description here

关于c++ - 添加 watch 显示未定义标识符visual studio 2012,cpp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17900797/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com