Partilhar via


Aviso do compilador (nível 4) C4702

código inacessível

Observações

Quando o back-end do compilador deteta código inacessível, ele gera C4702 como um aviso de nível 4.

Para resolver esse aviso, remova o código inacessível ou assegure-se de que todo o código-fonte seja acessível por algum fluxo de execução.

Examples

O exemplo a seguir gera C4702. Para corrigi-lo, remova o código inacessível.

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

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

O erro C4702 pode ocorrer em algumas versões do compilador quando você compila usando as /GXopções , /EHc, /EHscou /EHac e usa extern "C" funções. Como o compilador assume que as extern "C" funções não são lançadas, o bloco catch não é acessível. Se você achar que esse aviso não é válido porque uma função pode lançar, compilar com /EHa ou /EHs, dependendo da exceção lançada.

Para obter mais informações, consulte /EH (Modelo de tratamento de exceções).

O exemplo a seguir gera 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
   }
}