以下是我的代码:
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/