Avviso C6259
Il codice etichettato non è raggiungibile: ('expression' & 'constant') in switch-expr non può restituire 'case-label'
Osservazioni:
Questo avviso indica un codice non raggiungibile causato dal risultato di un confronto AND bit per bit (&
) in un'espressione switch. È raggiungibile solo l'istruzione case che corrisponde alla costante nell'espressione switch; tutte le altre istruzioni case non sono raggiungibili.
Nome dell'analisi del codice: DEADCODEINBITORLIMITEDSWITCH
Esempio
Il codice di esempio seguente genera questo avviso perché l'espressione (rand() & 3)
'switch' non può restituire l'etichetta case (case 4
):
#include <stdlib.h>
void f()
{
switch (rand () & 3) {
case 3:
/* Reachable */
break;
case 4:
/* Not reachable */
break;
default:
break;
}
}
Per correggere questo avviso, rimuovere il codice non raggiungibile o verificare che la costante usata nell'istruzione case sia corretta. Il codice seguente rimuove l'istruzione case non raggiungibile:
#include <stdlib.h>
void f()
{
switch (rand () & 3) {
case 3:
/* Reachable */
break;
default:
break;
}
}
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per