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