以下是我的代码:
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变量的值没有改变?
答案 0 :(得分:3)
我怀疑你的循环内部有一个声明bool rValue
。所以它改变了循环范围内的rValue
。不是父范围。
以及如果在到达内部赋值语句之前退出循环,它将不起作用。您可以在调试器中检查它,也可以在分配前放置std::cout