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