在while 或 for 循环中声明的局部变量是无法在外部访问的。
// 测试代码
int main()
{
for (int i = 0;;)
{
break;
}
if (i)
return 0;
}
结果:编译报错:
同样,在if语句中声明的变量,也无法在外部访问。有时候,我们会想在if语句中声明变量——如果条件符合,就声明变量——但这是行不通的:
int main()
{
if (true)
{
int a = 1;
}
if (a) {}
return 0;
}
编译结果是: