Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

264
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda