I\'ve always wondered this - why can\'t you declare variables after a case label in a switch statement? In C++ you can declare variables pretty much anywhere (and declaring
Most of the replies so far are wrong in one respect: you can declare variables after the case statement, but you can't initialize them:
case 1:
int x; // Works
int y = 0; // Error, initialization is skipped by case
break;
case 2:
...
As previously mentioned, a nice way around this is to use braces to create a scope for your case.