Partilhar via


aviso do compilador (nível 4) C4702

Mensagem de erro

Código inacessível

Esse aviso é o resultado do trabalho de conformidade de compilador que foi concluído para o Visual Studio .NET 2003: Código inacessível.Quando o compilador (back-participante) detecta código inacessível, ele gerará C4702, um aviso de nível 4.

Para obter um código que é válido nas versões do Visual Studio .NET 2003 e o Visual Studio .NET do Visual C++, remover o código inacessível ou garantir que todo o código-fonte é alcançável por alguns fluxo de execução.

See Resumo das alterações de quebras de compilador-time para obter mais informações.

Exemplo

O exemplo a seguir gera C4702.

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

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

Durante a compilação de /GX, /EHc, /EHsc, ou /EHac e usando funções C externo, código pode se tornar inacessível porque extern funções C são consideradas não throw, assim o bloco catch não está acessível. Se você achar que este aviso inválido porque uma função pode lançar, a compilar com /EHa ou /EHs, dependendo da exceção lançada.

Para obter mais informações, consulte /EH (exceção tratamento Model) Para obter mais informaçõ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
   }
}