Share via


Avertissement du compilateur (niveau 3) C4768

__declspec attributs avant que la spécification de liaison ne soit ignorée

Le compilateur avertit s’il __declspec(...) est appliqué avant la spécification de extern "C" liaison. Avant, le compilateur ignorait l’attribut, ce qui pouvait avoir des implications lors de l’exécution.

Notes

Cet avertissement est nouveau dans Visual Studio 2017 version 15.3, ce qui l’a laissé désactivé par défaut. Elle est activée par défaut en tant qu’avertissement de niveau 3 à partir de Visual Studio 2017 version 15.5. Pour plus d’informations sur la désactivation des avertissements par version du compilateur, consultez avertissements du compilateur par version du compilateur.

Exemple

Le code suivant génère l’avertissement C4768 :

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

Pour résoudre l’avertissement, placez extern "C" d’abord :

extern "C" __declspec(noinline) HRESULT __stdcall