* Las etiquetas case nos sirven para "saltar" de una sección de código a otra.
* En C++ no está permitido "saltarse" la declaración con inicialización de una variable.
Por ejemplo, si intentas compilar este código, el compilador también te mostrará un error:
En el ejemplo el valor de
opcion es 2, por esto tendría que ejecutarse el código del
case 2 mostrando
Hola en la consola. El problema es que para hacer eso, la ejecución del programa tendría que "saltarse" el código del
case 1, donde se encuentra la declaración con inicialización de la variable
resp. Ese intento de "saltar" sobre la línea 10 del ejemplo es lo que genera el error.
Si modificas el código del switch en tu programa, de una de estas maneras, evitarás el error de compilación:
1. Encerrando entre llaves el código de los
cases:
2. Declarando e inicializando las variables en líneas diferentes:
3. Declarando la variable que almacenará la respuesta de las operaciones antes del
switch y reutilizándola dentro de cada
case:
4. Realizando las operaciónes directamente en las líneas que muestran los resultados: