C6317

تحذير C6317: عامل تشغيل غير صحيح: عدم المنطقية (!) هو لا interchangeable مع تلك-تتمة (~)

Th هو التحذير يشير إلى أن عدم التشغيل منطقية ( !) هو التي يتم تطبيقها على ثابت الذي هو أن تكون بت-يؤشر. نتيجة لعدم منطقية هو منطقي؛ فإنه هو غير صحيحة لتطبيق في bitwهوe-and ( &) عامل التشغيل إلى القيمة منطقية. استخدم تلك-تتمة ( ~) operaإلىr إلى عكس الإشارات.

مثال

يلي تعليمات برمجية ينشئ هذا التحذير:

#define FLAGS   0x4004

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

إلى تصحيح هذا التحذير، استخدم تعليمات برمجية التالية:

#define FLAGS   0x4004

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

راجع أيضًا:

المرجع

Bitwise AND Operator: &

Logical Negation Operator: !

One's Complement Operator: ~