Avertissement C26818
L’instruction Switch ne couvre pas tous les cas. Envisagez d’ajouter une étiquette «default » (es.79).
Notes
Cette case activée couvre l’étiquette manquante default
dans les instructions switch qui basculent sur un type non énumération, tel que int
, char
etc.
Pour plus d’informations, consultez ES.79 : Permet default de gérer les cas courants (uniquement) dans les instructions de base C++.
Exemple
Cet exemple a une étiquette manquante default
lors du basculement d’un int
.
void fn1();
void fn2();
void foo(int a)
{
switch (a)
{
case 0:
fn1();
break;
case 2:
fn2();
break;
}
}
Solution
Pour résoudre ce problème, insérez une default
étiquette pour couvrir tous les cas restants.
void fn1();
void fn2();
void default_action();
void foo(int a)
{
switch (a)
{
case 0:
fn1();
break;
case 2:
fn2();
break;
default:
default_action();
break;
}
}
Si aucune action ne default doit être effectuée, insérez une étiquette vide default
pour indiquer que les autres cas n’ont pas été oubliés.
void fn1();
void fn2();
void foo(int a)
{
switch (a)
{
case 0:
fn1();
break;
case 2:
fn2();
break;
default:
// do nothing for the rest of the cases
break;
}
}
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour