2011-07-15 13 views
7

Używam XCode 4.0.2 dla projektu iOS4.Czy deklaracja typu może być zawarta w instrukcji Switch?

Mam standard "switch"

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

To daje mi błąd "Oczekiwane wyrażenie" na int a = 0 ;.

Jest to bardzo dziwne, że „Przełącznik” działa dobrze, jeśli poprzedza deklarację typu z prostym stwierdzeniem jak ten

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

w tym przypadku kompilator daje żadnego błędu (tylko „niewykorzystaną zmienną” ostrzeżenie).

Jak to możliwe?

Dziękuję.

Odpowiedz

6

spróbować czegoś jak

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

Wystarczy załączyć oświadczenie liter w nawiasach klamrowych:

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

    ... 
} 
0

Można zadeklarować zmienne jak

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

trzeba otworzyć nowe możliwości z { } w celu zadeklarowania nowych zmiennych:

switch (i) { 
    case 0: { 
     int a = 0; 
     break; 
    } 
} 
Powiązane problemy