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 /GX
opzioni , /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
}
}