Freigeben über


C6281

Aktualisiert: November 2007

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...
  }
}

Siehe auch

Referenz

Compilerwarnung (Stufe 3) C4554