Compartir a través de


Advertencia del compilador (nivel 4) C4702

Actualización: noviembre 2007

Mensaje de error

no se puede tener acceso al código
unreachable code

Esta advertencia es el resultado del trabajo de conformidad del compilador realizado para Visual Studio .NET 2003: código inalcanzable. Cuando el compilador (servidor) detecte código inalcanzable, generará la advertencia C4702, una advertencia de nivel 4.

Para que el código sea válido en las versiones Visual Studio .NET 2003 y Visual Studio .NET de Visual C++, quite el código inalcanzable o asegúrese de que todo el código fuente es alcanzable por algún flujo de ejecución.

Vea Resumen de cambios importantes en tiempo de compilación para obtener más información.

Ejemplo

El ejemplo siguiente genera el error C4702.

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

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

Cuando se compila con /GX, /EHc, /EHsc o /EHac utilizando funciones extern de C, el código puede ser inalcanzable porque las funciones de C no producen excepciones, por lo que el bloque catch no es alcanzable. Si esta advertencia no es válida porque una función puede producir una excepción, compile con /EHa o /EHs, dependiendo de la excepción.

Para obtener más información, vea /EH (Modelo de control de excepciones).

El ejemplo siguiente genera el error 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
   }
}