【发布时间】:2016-09-18 23:38:27
【问题描述】:
int i;
i = 2;
switch(i)
{
case 1:
int k;
break;
case 2:
k = 1;
cout<<k<<endl;
break;
}
我不知道为什么上面的代码有效。
在这里,我们永远无法进入案例 1,但为什么我们可以在案例 2 中使用k?
【问题讨论】:
-
你认为这很糟糕?看Duff's Device
-
开关比较奇怪;如果您正在寻找范围,{} 是您的朋友。
-
@TemplateRex 这个问题是关于为什么你不能。这个问题是关于为什么你可以。
-
@Barry,不过,最佳答案确实很好地解释了这一点。
-
@Barry potato, po-tah-to,链接问答的第一个答案深入探讨了切换范围
标签: c++ variables initialization switch-statement