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);
}