分享方式:


編譯器警告 (層級 1, 錯誤) C4394

'function' : per-appdomain 符號不可標記為 __declspec(dllexport)

使用 appdomain __declspec 修飾元標示的函式會編譯為 MSIL (非原生),而且受控函式不支援導出資料表 (export __declspec 修飾元)。

您可以宣告 Managed 函式具有公用的存取範圍。 如需詳細資訊,請參閱類型可視性成員可視性 (部分機器翻譯)。

C4394 一律發出為錯誤。 您可以使用 #pragma warning/wd 關閉此警告,或變更其層級。 如需詳細資訊,請參閱 warning 或是 /w、/W0、/W1、/W2、/W3、/W4、/w1、/w2、/w3、/w4、/Wall、/wd、/we、/wo、/Wv、/WX (警告層級) (部分機器翻譯)。

範例

下列範例會產生 C4394。

// C4394.cpp
// compile with: /clr /c
__declspec(dllexport) __declspec(appdomain) int g1 = 0;   // C4394
__declspec(dllexport) int g2 = 0;   // OK