Upozornění kompilátoru (úroveň 1, chyba) C4394
'function' : symbol per-appdomain by neměl být označen __declspec(dllexport)
Funkce označená modifikátorem appdomain je zkompilována do jazyka MSIL (nikoli nativní) a u spravovaných funkcí se nepodporují exportované tabulky (modifikátor exportu__declspec
). __declspec
Spravovanou funkci můžete deklarovat tak, aby měla veřejnou přístupnost. Další informace naleznete v tématu Viditelnost typů a Viditelnost člena.
C4394 se vždy vydává jako chyba. Toto upozornění můžete vypnout nebo změnit jeho úroveň pomocí #pragma warning
/ wd. Další informace najdete v tématu upozornění nebo /w, /W0, /W1, /W2, /W3, /W4, /w1, /w2, /w3, /w4, /Wall, /wd, /we, /wo, /Wv, /WX (úroveň upozornění).
Příklad
Následující ukázka vygeneruje C4394.
// C4394.cpp
// compile with: /clr /c
__declspec(dllexport) __declspec(appdomain) int g1 = 0; // C4394
__declspec(dllexport) int g2 = 0; // OK