Partager via


C6314

avertissement C6314 : Ordre des opérations incorrect : l'opérateur de bits OR a une priorité plus élevée que l'opérateur d'expression conditionnelle.Ajoutez des parenthèses pour préciser clairement le but recherché.

Ce message indique qu'une expression contenant un opérateur de bits OU (|) a été détecté dans l'expression testée d'une opération conditionnelle (?:).

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

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

Référence

Opérateur de bits OR inclusif : |

Opérateur conditionnel : ? :