Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

247
Views
Error "error: valor de caso duplicado" al usar goto en la declaración de cambio

Estaba tratando de usar la declaración goto para viajar entre diferentes switch-cases . Entiendo, no es preferible usar goto ya que haría que el programa fuera difícil de entender, pero realmente lo necesito.

Aquí está la versión de ejemplo de mi código:

 switch(something){ case "c1": //some code break; case "c2": //some code break; case "c3": if(condition1) goto case "c1"; if(condition2) goto case "c2"; default: break; }

Ahora, cuando ejecuto el código, aparece el siguiente error error: duplicate case value que se aplica tanto al goto case "c1" como al goto case "c2" .

No estoy seguro de por qué el compilador está pensando que el goto en un switch-case está redefiniendo otro case en la declaración de cambio con la misma condición y, por lo tanto, arroja ese error duplicado. Se agradece cualquier ayuda y las razones de este error.

¡Gracias!

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

En cualquier caso, la declaración de cambio no tiene sentido porque está utilizando literales de cadena como etiquetas de casos.

 switch(something){ case "c1": //some code break; case "c2": //some code break; case "c3": if(condition1) goto case "c1"; if(condition2) goto case "c2"; default: break; }

La expresión en la declaración de cambio se convierte en un tipo integral o de enumeración que no se puede convertir implícitamente en punteros o literales de cadena.

Tal vez necesite usar caracteres literales como por ejemplo

 case 'c1':

El segundo problema es que no puede usar etiquetas de casos con sentencias goto. Puede usar con las sentencias goto solo etiquetas que se presentan como identificadores. La sintaxis de la instrucción goto es

 goto identifier ;

Entonces, el compilador piensa que las etiquetas de casos utilizadas en las instrucciones goto redefinen las etiquetas de casos ya introducidas.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!