Udostępnij za pośrednictwem


Ostrzeżenie kompilatora (poziom 1, błąd) C4394

"function": symbol per-appdomain nie powinien być oznaczony __declspec(dllexport)

Funkcja oznaczona modyfikatorem appdomain __declspec jest kompilowana do MSIL (nie natywnego), a tabele eksportu (modyfikator eksportu__declspec) nie są obsługiwane w przypadku funkcji zarządzanych.

Możesz zadeklarować funkcję zarządzaną, aby mieć publiczne ułatwienia dostępu. Aby uzyskać więcej informacji, zobacz Widoczność typu i Widoczność elementu członkowskiego.

C4394 jest zawsze wystawiany jako błąd. To ostrzeżenie można wyłączyć lub zmienić jego poziom na #pragma warning lub /wd. Aby uzyskać więcej informacji, zobacz ostrzeżenie lub /w, /W0, /W1, /W2, /W3, /W4, /w1, /w2, /w3, /w4, /Wall, /wd, /we, /wo, /Wv, /WX (poziom ostrzeżenia).

Przykład

Poniższy przykład generuje kod C4394.

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