Avertissement C6259
Le code étiqueté n’est pas accessible : ('expression' & 'constante') dans switch-expr ne peut pas évaluer 'case-label'
Notes
Cet avertissement indique un code inaccessible provoqué par le résultat d’une comparaison bitwise-AND (&
) dans une expression switch. Seule l’instruction case qui correspond à la constante dans l’expression switch est accessible ; toutes les autres instructions case ne sont pas accessibles.
Nom de l’analyse du code : DEADCODEINBITORLIMITEDSWITCH
Exemple
L’exemple de code suivant génère cet avertissement, car l’expression (rand() & 3)
« switch » ne peut pas évaluer l’étiquette de casse (case 4
) :
#include <stdlib.h>
void f()
{
switch (rand () & 3) {
case 3:
/* Reachable */
break;
case 4:
/* Not reachable */
break;
default:
break;
}
}
Pour corriger cet avertissement, supprimez le code inaccessible ou vérifiez que la constante utilisée dans l’instruction case est correcte. Le code suivant supprime l’instruction case inaccessible :
#include <stdlib.h>
void f()
{
switch (rand () & 3) {
case 3:
/* Reachable */
break;
default:
break;
}
}
Voir aussi
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