Ciao, l'errore esce parché non hai messo le parentesi graffe nei 'case n' , dovrebbe essere infatti così:
void f(int i){
switch(i){
case 1:{ //aggiunta la parentesi graffa
X x2; //
break;
}case 2 :{ //anche qui
X x3; //
break;
}default: break;
}
}
Penso che sia dovuto dal compilatore, dato che non è possibile dichiarare variabili nei 'case n' senza aver messo le parentesi graffe.