Maison > développement back-end > C++ > Pourquoi l'erreur « Aller à l'étiquette du cas » se produit-elle dans une instruction Switch ?

Pourquoi l'erreur « Aller à l'étiquette du cas » se produit-elle dans une instruction Switch ?

Barbara Streisand
Libérer: 2024-10-28 07:48:30
original
367 Les gens l'ont consulté

Why Does

Résolution d'erreur : "Aller à l'étiquette du cas" dans l'instruction Switch

Dans l'extrait de code fourni :

< pre>

include

int main()
{

int choice;
std::cin >> choice;
switch(choice)
{
  case 1:
    int i=0;
    break;
  case 2: // error here 
}
Copier après la connexion

}

L'erreur de compilation se produit car les variables déclarées dans une étiquette de cas sont accessibles dans les étiquettes de cas suivantes à moins qu'elles ne soient explicitement incluses dans un bloc.

Dans ce scénario, la variable que j'ai déclarée dans le cas 1 reste dans la portée du cas 2, mais son code d'initialisation n'est pas exécuté. L'accès à une variable non initialisée peut entraîner un comportement ou des erreurs inattendus.

Pour résoudre ce problème, placez chaque étiquette de cas dans son propre bloc :

<br> switch(choice)</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">{
  case 1:
    {
        int i=0;
        break;
    }
  case 2:
    {
        // Code for case 2
        break;
    }
}
Copier après la connexion

Cela garantit que les variables déclarées dans un cas ne sont pas visibles ou accessibles en dehors de ce cas. Chaque cas a désormais son propre périmètre isolé, évitant ainsi les erreurs liées à la visibilité variable.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal