C6313
تحذير C6313: عامل تشغيل غير صحيح: صفر-لا يمكن اختبار إشارة هامة مع أحادي المعامل-و. استخدم أحد اختبارات مساواة إلى البحث عن علامات valued بصفر
هذا التحذير يشير إلى أن القيمة ثابتة من صفر w كـ توفير كـ وسيطة إلى المختصة بالبت-و ( &) عامل في سياق الاختبار. التعبير الناتج هو الثابتة وتقييم إلى خطأ; النتيجة هو مختلف عن intended.
Th هو هو عادة بسبب استخدام bitwهوe-and لاختبار لإشارة الذي يحتوي على القيمة صفر. إلى اختبار الإشارات valued بصفر، قم بإجراء اختبار لمساواة يجب تنفيذها، على سبيل المثال، استخدام ==أو !=.
مثال
يلي تعليمات برمجية ينشئ هذا التحذير:
#define FLAG 0
void f(int Flags )
{
if (Flags & FLAG)
{
// code
}
}
إلى تصحيح هذا التحذير، استخدم تعليمات برمجية التالية:
#define FLAG 0
void f(int Flags )
{
if (Flags == FLAG)
{
// code
}
}