Ostrzeżenie kompilatora (poziom 3) C4768
__declspec
atrybuty przed specyfikacją połączenia są ignorowane
Kompilator ostrzega, czy __declspec(...)
jest stosowany przed specyfikacją extern "C"
połączenia. Wcześniej kompilator zignorował atrybut, co mogłoby mieć wpływ na środowisko uruchomieniowe.
Uwagi
To ostrzeżenie jest nowe w programie Visual Studio 2017 w wersji 15.3, która domyślnie została wyłączona. Jest ona domyślnie włączona jako ostrzeżenie poziomu 3, począwszy od programu Visual Studio 2017 w wersji 15.5. Aby uzyskać informacje na temat wyłączania ostrzeżeń według wersji kompilatora, zobacz Ostrzeżenia kompilatora według wersji kompilatora.
Przykład
Poniższy kod generuje ostrzeżenie C4768:
__declspec(noinline) extern "C" HRESULT __stdcall // C4768: __declspec attributes before linkage specification are ignored
Aby naprawić ostrzeżenie, najpierw umieść następujące polecenie extern "C"
:
extern "C" __declspec(noinline) HRESULT __stdcall