Compartir a través de


Advertencia del compilador (nivel 3) C4768

__declspec Se omiten los atributos antes de la especificación de vinculación

El compilador advierte si __declspec(...) se aplica antes de la especificación de vinculación extern "C". Anteriormente, el compilador ignoraría el atributo, lo que podría tener implicaciones para el tiempo de ejecución.

Comentarios

Esta advertencia es nueva en la versión 15.3 de Visual Studio 2017, que la dejó desactivada de manera predeterminada. Está habilitada de manera predeterminada como advertencia de nivel 3 a partir de la versión 15.5 de Visual Studio 2017. Para información sobre cómo deshabilitar las advertencias por versión del compilador, consulte Advertencias del compilador por versión del compilador.

Ejemplo

El código siguiente produce la advertencia C4768:

__declspec(noinline) extern "C" HRESULT __stdcall // C4768: __declspec attributes before linkage specification are ignored

Para corregir la advertencia, coloque primero extern "C":

extern "C" __declspec(noinline) HRESULT __stdcall