C6316
تحذير C6316: عامل تشغيل غير صحيح: اختبار التعبير هو ثابتة وغير صفري. تمثل استخدم-و إلى تحديد ما إذا تم تعيين بت
يشير هذا التحذير استخدم من تمثل-أو (|) عندما تمثل-و ( &) يجب أن تستخدم. تمثل-أو إضافة بت إلى التعبير الناتج، بينما تمثل-و تحديد تلك البتات مشتركة بين العوامل جهازي الخاص به فقط. قم باختبار للإشارات يجب أن يتم إجراؤها مع bitwise-و أو اختبار مساواة.
مثال
يلي تعليمات برمجية ينشئ هذا التحذير:
#define INPUT_VALUE 2
void f( int Flags)
{
if (Flags | INPUT_VALUE) // warning
{
// code
}
}
إلى تصحيح هذا التحذير، استخدم تعليمات برمجية التالية:
#define ALLOWED 1
#define INPUT_VALUE 2
void f( int Flags)
{
if ((Flags & INPUT_VALUE) == ALLOWED)
{
// code
}
}