Freigeben über


Compilerwarnung (Ebene 4) C4702

Nicht erreichbarer Code

Wenn das Compiler-Back-End nicht erreichbaren Code erkennt, wird C4702 als Warnung der Ebene 4 generiert.

Um diese Warnung zu beheben, entfernen Sie den nicht erreichbaren Code, oder stellen Sie sicher, dass der gesamte Quellcode durch einen bestimmten Ausführungsfluss erreichbar ist.

Beispiele

Im folgenden Beispiel wird C4702 generiert. Entfernen Sie den nicht erreichbaren Code, um ihn zu beheben.

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

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

Fehler C4702 kann in einigen Versionen des Compilers auftreten, wenn Sie mithilfe der /GXFunktionen , /EHc, /EHscoder /EHac Optionen kompilieren und verwenden extern "C" . Da der Compiler davon ausgeht extern "C" , dass Funktionen nicht ausgelöst werden, ist der Catch-Block nicht erreichbar. Wenn Sie der Ansicht sind, dass diese Warnung ungültig ist, da eine Funktion abhängig von der ausgelösten Ausnahme ausgelöst, kompiliert oder /EHa kompiliert werden /EHskann.

Weitere Informationen finden Sie unter /EH (Ausnahmebehandlungsmodell).

Im folgenden Beispiel wird C4702 generiert:

// 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
   }
}