C6259

تحذير C6259: يسمى رمز هو غير قابلة للوصول: (<تعبير> & <ثابت>) في تبديل-expr لا تؤدي إلى < التسمية الحالة >

هذا التحذير يشير إلى تعليمات برمجية غير قابلة للوصول بسبب بواسطة نتيجة تمثل-و ( &) مقارنة في تعبير المبدل. كشف حالة تطابق الثابت في تبديل تعبير هو فقط قابلة للوصول; الجميع عبارات حالة غير قابلة للوصول.

مثال

The following sample code generates this warning because the expression switch (rand() & 3) cannot evaluate to case label (case 4):

#include <stdlib.h>

void f()
{
     switch (rand () & 3) {
        case 3:
            /* Reachable */
            break;
        case 4:
            /* Not reachable */
            break;
        default:
            break;
    }
}

لتصحيح th هو التحذير، قم بإزالة تعليمات برمجية غير قابلة للوصول أو التحقق من أن استخدام الثابت في حالة عبارة هو الصحيح. كشف الحالة غير قابل للوصول يقوم بإزالة التعليمة البرمجية التالية:

#include <stdlib.h>

void f()
{
     switch (rand () & 3) {
        case 3:
            /* Reachable */
            break;
        default:
            break;
    }
}

راجع أيضًا:

المرجع

The switch Statement

The C switch Statement