Esto sucede porque una variable creada en un <case> del <switch> sigue existiendo en el resto de <case>. Pero no tienen el valor inicializado y por eso si escribes la inicialización junto a la declaración, te va a dar un error.
Una forma de solucionar eso es separando la inicialización de la declaración como has visto tú. Y otra forma es usar llaves {} para crear un bloque.
Una forma de solucionar eso es separando la inicialización de la declaración como has visto tú. Y otra forma es usar llaves {} para crear un bloque.
Código (cpp) [Seleccionar]
switch(indice){
case 0:
{
int edad = 0;
// ya funciona
break; // no olvidar el break
}
case 1:
// lo que sea
break;
default:
// lo que sea
break; // opcional ya que es el ultimo
}