Avertissement C6314

Ordre incorrect des opérations : au niveau du bit ou a une priorité plus élevée que l’opérateur d’expression conditionnelle. Ajouter des parenthèses pour clarifier l’intention

Notes

Ce message indique qu’une expression qui contient un opérateur au niveau du bit (|) a été détectée dans l’expression testée d’une opération conditionnelle (?:).

L’opérateur conditionnel a une priorité inférieure à celle des opérateurs au niveau du bit. Si l’expression testée doit contenir l’opérateur au niveau du bit, les parenthèses doivent être ajoutées autour de l’expression conditionnelle.

Nom de l’analyse du code : BITORVSQUESTION

Exemple

Le code suivant génère cet avertissement :

int SystemState();

int f(int SignalValue)
{
  return SystemState() | (SignalValue != 0) ? 1 : 0;
}

Pour corriger cet avertissement, utilisez le code suivant :

int SystemState();

int f(int SignalValue)
{
  return SystemState() | ((SignalValue != 0) ? 1 : 0);
}

Voir aussi