Partager via


Avertissement du compilateur (niveau 1, erreur) C4394

« fonction » : le symbole per-appdomain ne doit pas être marqué avec __declspec(dllexport)

Remarques

Une fonction marquée avec le modificateur appdomain__declspec est compilée en MSIL (non-native) et les tables d’exportation (modificateur export__declspec ) ne sont pas prises en charge pour les fonctions managées.

Vous pouvez déclarer une fonction managée pour avoir une accessibilité publique. Pour plus d’informations, consultez Visibilité de type et Visibilité de membre.

L’avertissement C4394 est toujours présenté comme une erreur. Vous pouvez désactiver cet avertissement ou modifier son niveau avec #pragma warning ou /wd. Pour plus d’informations, consultez avertissement ou /w, /W0, /W1, /W2, /W3, /W4, /w1, /w2, /w3, /w4, /Wall, /wd, /we, /wo, /Wv, /WX (Niveau d’avertissement).

Exemple

L’exemple suivant génère l’erreur C4394.

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