Share via


Upozornění kompilátoru (úroveň 4) C4702

nedostupný kód

Když back-end kompilátoru zjistí nedostupný kód, vygeneruje C4702 jako upozornění úrovně 4.

Pokud chcete toto upozornění vyřešit, odeberte nedostupný kód nebo zajistěte, aby byl veškerý zdrojový kód dostupný některým tokem spuštění.

Příklady

Následující ukázka vygeneruje C4702. Pokud ho chcete opravit, odeberte nedostupný kód.

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

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

K chybě C4702 může dojít v některých verzích kompilátoru při kompilaci pomocí /GXfunkce , /EHc, /EHsc, nebo /EHac možnosti a používat extern "C" funkce. Vzhledem k tomu, že kompilátor předpokládá extern "C" , že funkce se nevyvolají, blok catch není dostupný. Pokud máte pocit, že toto upozornění není platné, protože funkce může vyvolat, zkompilovat s /EHa nebo /EHsv závislosti na vyvolané výjimce.

Další informace najdete v tématu /EH (Model zpracování výjimek).

Následující ukázka vygeneruje 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
   }
}