Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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;
}
}