Compartilhar via


Aviso do compilador (nível 4) C4702

código inacessível

Quando o back-end do compilador detecta 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 garanta que todo o código-fonte esteja acessível por algum fluxo de execução.

Exemplos

O exemplo a seguir gera o aviso 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ê compilar usando as opções /GX, /EHc, /EHsc ou /EHac e usar funções extern "C". Como o compilador pressupõe que as funções extern "C" 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, faça a compilação com /EHa ou /EHs, dependendo da exceção gerada.

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

O seguinte exemplo gera o aviso 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
   }
}