0

以下是我的代码:

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 变量的值没有变化?

4

1 回答 1

3

我怀疑在你的循环中某处你有声明bool rValue。所以它改变了rValue循环范围。不是父范围之一。

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

于 2012-08-20T10:12:48.517 回答