C6235
تحذير C6235: (< ثابت غير صفري > | | <تعبير>) هو دوماً ثابت غير صفري
هذا التحذير يشير إلى أن القيمة ثابتة غير صفري، غير ذلك من واحد، تم كشفه تشغيل الجانب الأيسر من منطقي-أو العمليات التي تحدث في سياق اختبار. الجانب الأيسر من المنطقي-أو عملية هو لا تقييم لأنه يتم تقييم التعبير الناتج دائماً إلى صواب. Th هو هو الإشارة إلى كما "قصير-circuit تقييم".
القيمة ثابتة غير صفري، غير موجود، يقترح التي المختصة بالبت-و عامل التشغيل ( &) ربما intended. Th هو تحذير هو غير التي تم إنشاؤها ل idiom عام عند الثابت صفراً هو 1، نظراً للاستخدام الخاص به لتمكين مسارات تعليمات برمجية، ولكن بشكل انتقائي هو المنشأة إذا تم تقييم الثابت صفراً إلى 1، على سبيل المثال 1 + 0.
مثال
يلي تعليمات برمجية ينشئ هذا التحذير لأن INPUT_TYPEهو 2:
#define INPUT_TYPE 2
void f(int n)
{
if(INPUT_TYPE || n) //warning 6235 issued
{
puts("Always gets here");
}
else
{
puts("Never gets here");
}
}
تستخدم التعليمة البرمجية التالية المختصة بالبت-و ( &) operaإلىr إلى تصحيح هذا التحذير:
#define INPUT_TYPE 2
void f(int n)
{
if((INPUT_TYPE & n) == 2)
{
puts("bitwise-AND comparison true");
}
else
{
puts("bitwise-AND comparison false");
}
}