以下是我的代码:

bool rValue = false;
for(int i=0; i < 10 ; i++)
{
  some code...
  ...
  ...
  rValue  = true

}

std::cout << "rValue is " << rValue << std::endl;


上面的代码输出为rValue is false。为什么?为什么rValue变量的值没有变化?

最佳答案

我怀疑在循环内的某个地方有声明bool rValue。因此,它更改了循环作用域下的rValue。不是父范围。

而且,如果您在到达内部赋值语句之前退出循环,则不会生效。您可以在调试器中检查或在分配前放置std::cout

关于c++ - 如何在C++中更改在for循环之前声明的变量值并尝试在for循环中更改值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12035802/

10-10 13:29