C6259C6259

avertissement C6259 : code étiqueté : (<expression > & <constante >) dans un switch-expr ne peut pas évaluer <étiquette de case >warning C6259: labeled code is unreachable: (<expression> & <constant>) in switch-expr cannot evaluate to <case-label>

Cet avertissement indique un code inaccessible provoqué par le résultat d’une opération de bits- et (&) comparaison dans une expression de switch.This warning indicates unreachable code caused by the result of a bitwise-AND (&) comparison in a switch expression. L’instruction case qui correspond à la constante dans l’expression de switch est uniquement accessible ; toutes les autres instructions case ne sont pas accessibles.The case statement that matches the constant in the switch expression is only reachable; all other case statements are not reachable.

ExempleExample

L’exemple de code suivant génère cet avertissement car l’expression switch``(rand() & 3) Impossible d’évaluer une étiquette case (case 4) :The following sample code generates this warning because the expression switch``(rand() & 3) cannot evaluate to case label (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.To correct this warning, remove the unreachable code or verify that the constant used in the case statement is correct. Le code suivant supprime l’instruction case inaccessible :The following code removes the unreachable case statement:

#include <stdlib.h>

void f()
{
     switch (rand () & 3) {
        case 3:
            /* Reachable */
            break;
        default:
            break;
    }
}

Voir aussiSee Also

commutateur d’instruction (C++) instruction switchswitch Statement (C++) switch Statement