Aracılığıyla paylaş


C6317

C6317 Uyarı: Hatalı işleç: not mantıksal (!) olanları-tamamlayıcı (~) ile değiştirilebilir değil

Bu uyarıyı belirten not mantıksal (!) bir bit bayrağı olasılığı olan bir sabit uygulanır.Not mantıksal Boolean sonucudur; Bitsel uygulamak için doğru değil- ve (&) operatörünü bir Boole değeri.Olanları tamamlayıcı kullanın (~) bayrakları Çevir işleci.

Örnek

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

#define FLAGS   0x4004

void f(int i)
{
  if (i & !FLAGS) // warning
  { 
    // code
  }
}

Bu uyarı düzeltmek için şu kodu kullanın:

#define FLAGS   0x4004

void f(int i)
{
  if (i & ~FLAGS)
  {
    // code
  }
}

Ayrıca bkz.

Başvuru

Bitsel and ileci: &

Mantıksal işlecinden:!

Bir bilgisayarın tamamlayıcı işleci: ~