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.
Aggiornamento: novembre 2007
Messaggio di errore
codice non eseguibile
unreachable code
Questo avviso è il risultato delle operazioni di conformità effettuate per Visual Studio .NET 2003: codice non eseguibile. Quando il compilatore (back end) rileva codice non eseguibile, genera l'avviso C4702 di livello 4.
Affinché il codice sia valido in entrambe le versioni Visual Studio .NET 2003 e Visual Studio .NET di Visual C++, rimuovere il codice non eseguibile o assicurarsi che tutto il codice sorgente sia eseguibile tramite un flusso di esecuzione.
Per ulteriori informazioni, vedere Riepilogo delle ultime modifiche in fase di compilazione.
Esempio
Nell'esempio seguente viene generato l'errore C4702:
// C4702.cpp
// compile with: /W4
#include <stdio.h>
int main() {
return 1;
printf_s("I won't print.\n"); // C4702 unreachable
}
Quando si esegue la compilazione con /GX, /EHc, /EHsc o /EHac e si utilizzano le funzioni C esterne, è possibile che il codice diventi non eseguibile, dal momento che si suppone che le funzioni C esterne non generino eccezioni. Il blocco catch, pertanto, non è eseguibile. Se si ritiene che l'avviso non sia valido perché una funzione è in grado di generare un'eccezione, eseguire la compilazione con /EHa o /EHs, a seconda dell'eccezione generata.
Per ulteriori informazioni, vedere /EH (Modello di gestione delle eccezioni).
Nell'esempio seguente viene generato 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
}
}