2011-07-15 56 views
7

我正在爲iOS4項目使用XCode 4.0.2。可以在Switch語句中進行類型聲明嗎?

我有一個標準的「開關」的聲明

switch (i) { 
    case 0: 
     int a = 0; 
    break 
    ... 
} 

這給我一個INT錯誤「預期的表達」 = 0 ;.

這是非常奇怪的是,「開關」是工作的罰款,如果我先類型聲明,像這樣

switch (i) { 
    case 0: 
     b = 0; 
     int a = 0; 
    break 
    ... 
} 
在這種情況下

一個簡單的聲明,編譯器沒有給出錯誤(僅一個「未使用變量」警告)。

這怎麼可能?

謝謝。

回答

6

嘗試像

switch (i) { 
    case 0: 
    { 
     int a = 0; 
    } 
    break 
    ... 
} 
1

只是圍住case語句在大括號:

switch (i) { 
    case 0: { 
     int a = 0; 
     break; 
    } 

    ... 
} 
0

你可以聲明變量,如

switch (i) { 
    case 0: 
     { //User brackets 
      int a = 0; 
     } 
    break 
    ... 
} 
1

您需要打開一個新的範圍{ }爲了申報新變數:

switch (i) { 
    case 0: { 
     int a = 0; 
     break; 
    } 
} 
相關問題