【发布时间】:2016-08-05 06:18:25
【问题描述】:
我知道很多关于这个主题的stackoverflow问题,但我没有找到这个问题的答案。
struct message
{
int myint;
};
int main(void)
{
switch(1)
{
case 0:
break;
case 1:
int i; // this is fine, but int i = 10; is compile error
break;
default:
break;
}
return 0;
}
从逻辑上讲,为什么定义变量并用某个值对其进行初始化与仅仅为“案例标签”定义变量不同?
【问题讨论】:
-
右侧相关栏目第二个问题:stackoverflow.com/questions/92396/…
-
@chris,有趣的帖子。顺便说一句,它回答了为什么简单的
int i;有效吗?我阅读了前几个高投票的答案,但找不到明确的解释。 -
@iammilind,是的,因为没有跳过初始化。 This answer 对此进行了更多说明。
-
你的this answer 就是我要找的东西
标签: c++ c switch-statement