Nel bilancio switch-case dichiarazione-con-inizializzazione è valido ma dichiarazione-e-poi-assegnazione è permesso. Come mostrato nello snippet di codice seguente.switch-case: dichiarazione-con-inizializzazione e dichiarazione-e-poi-assegnazione
Qual è la differenza tra questi due tipi di inizializzazioni dal lato del compilatore? E perché il primo tipo di inizializzazione è invalido e il secondo tipo è valido.
switch(val)
{
case 0:
int newVal = 42; //Invalid
break;
case 1:
int newVal2; //Valid
newVal2 = 42;
break;
case 2:
break;
}
Che compilatore stai usando? – NullUserException
Visual Studio 2008 –