Udostępnij za pośrednictwem


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