Uyarı C6281

yanlış işlem sırası: ilişkisel işleçler bit düzeyinde işleçlerden daha yüksek önceliğe sahiptir

Açıklamalar

Bu uyarı, işleç önceliğindeki olası bir hatayı gösterir ve bu hata yanlış sonuçlara neden olabilir. Önceliği denetlemeli ve amacı netleştirmek için parantez kullanmalısınız. İlişkisel işleçler (, , , , , ==!=) bit düzeyinde işleçlerden (&, |, ^) daha yüksek önceliğe sahiptir. >=<=><

Kod analizi adı: BITWISERELATIONPRECEDENCEERROR

Örnek

Aşağıdaki kod bu uyarıyı oluşturur:

#include <stdlib.h>
#define FORMAT 1
#define TYPE 2

void f(int input)
{
  if (FORMAT & TYPE != input)
  {
    // code...
  }
}

Aşağıdaki kod, bu uyarıyı düzeltmek için parantez kullanır:

#include <stdlib.h>
#define FORMAT 1
#define TYPE 2

void f(int input)
{
  if ((FORMAT & TYPE) != input)
  {
    // code...
  }
}

Ayrıca bkz.

Derleyici Uyarısı (düzey 3) C4554