C6281
Warnung 6281: Falsche Operationsreihenfolge: Relationale Operatoren haben Vorrang vor bitweisen Operatoren.
Diese Warnung gibt einen möglichen Fehler in der Rangfolge von Operatoren an.Dies kann zu falschen Ergebnissen führen.Sie sollten die Rangfolge überprüfen und Klammern verwenden, um Ihre Absicht zu verdeutlichen.Relationale Operatoren (<, >, <=, >=, ==, != ) haben Vorrang vor bitweisen Operatoren (& | ^).
Beispiel
Der folgende Code generiert diese Warnung:
#include <stdlib.h>
#define FORMAT 1
#define TYPE 2
void f(int input)
{
if (FORMAT & TYPE != input)
{
// code...
}
}
Im folgenden Code werden Klammern verwendet, um die Warnung zu korrigieren:
#include <stdlib.h>
#define FORMAT 1
#define TYPE 2
void f(int input)
{
if ((FORMAT & TYPE) != input)
{
// code...
}
}