2
我知道很多關於這個主題的問題stackoverflow,但我沒有找到答案。C++在switch語句中定義變量 - 用/不用初始化定義
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;
}
從邏輯上講,爲什麼定義變量並用某個值初始化它與爲'case labels'定義變量不同?
在右邊的相關章節的第二個問題:http://stackoverflow.com/questions/92396/why-cant-variables-be-declare-in-a-switch-statement?rq = 1 – chris
@chris,有趣的帖子。順便說一句,它回答了爲什麼簡單的'我我;'工程?我讀了前幾個高票答案,但找不到明確的解釋。 – iammilind
@iammilind,是的,因爲沒有初始化被跳過。 [這個答案](http://stackoverflow.com/a/92730/962089)更進一步。 – chris