C6259
avertissement C6259 : impossible d'atteindre le code étiqueté : (<expression> & <constante>) dans un switch-expr ne peut pas prendre la valeur <ÉtiquetteCase>
Cet avertissement indique un code inaccessible provoqué par le résultat d'une comparaison d'opérations de bits AND (&) dans une expression de switch.Seule l'instruction case correspondant à la constante dans l'expression de switch est accessible ; toutes les autres instructions case ne le sont pas.
Exemple
L'exemple de code suivant génère cet avertissement car l'expression switch(rand() & 3) ne peut pas correspondre à l'étiquette case (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;
}
}