Condividi tramite


Avviso del compilatore (livello 4) C4702

codice non raggiungibile

Quando il back-end del compilatore rileva codice non raggiungibile, genera L4702 come avviso di livello 4.

Per risolvere questo avviso, rimuovere il codice non raggiungibile o assicurarsi che tutto il codice sorgente sia raggiungibile da un flusso di esecuzione.

Esempi

L'esempio seguente genera l'errore C4702. Per correggerlo, rimuovere il codice non raggiungibile.

// C4702.cpp
// compile with: /W4
#include <stdio.h>

int main() {
   return 1;
   printf_s("I won't print.\n");   // C4702 unreachable
}

L'errore C4702 può verificarsi in alcune versioni del compilatore quando si compilano usando le /GXopzioni , /EHc/EHsc, o /EHac e si usano extern "C" le funzioni. Poiché il compilatore presuppone extern "C" che le funzioni non generino, il blocco catch non è raggiungibile. Se si ritiene che questo avviso non sia valido perché una funzione può generare, compilare con /EHa o /EHs, a seconda dell'eccezione generata.

Per altre informazioni, vedere /EH (Modello di gestione delle eccezioni).

L'esempio seguente genera l'errore C4702:

// C4702b.cpp
// compile with: /W4 /EHsc
#include <iostream>

using namespace std;
extern "C" __declspec(dllexport) void Function2(){}

int main() {
   try {
      Function2();
   }
   catch (...) {
      cout << "Exp: Function2!" << endl;   // C4702
   }
}