Partager via


Avertissements du compilateur Microsoft C/C++ C4200 à C4399

Les articles de cette section décrivent les messages d’avertissement du compilateur Microsoft C/C++ C4200 à C4399.

Important

Les compilateurs et outils de génération Visual Studio peuvent signaler de nombreux types d’erreurs et d’avertissements. Une fois qu’une erreur ou un avertissement a été détecté, les outils de génération peuvent faire des hypothèses sur l’intention du code, et tenter de poursuivre leur tâche, pour signaler un plus grand nombre de problèmes en même temps. Si les outils suivent une hypothèse incorrecte, les erreurs ou avertissements ultérieurs peuvent ne pas s'appliquer à votre projet. Lors de la résolution de problèmes dans votre projet, démarrez toujours par la première erreur ou le premier avertissement signalé et effectuez régulièrement une régénération. Un seul correctif peut permettre d’éliminer de nombreuses erreurs à venir.

Pour obtenir de l’aide sur un message de diagnostic particulier dans Visual Studio, sélectionnez-le dans la fenêtre Sortie, puis appuyez sur la touche F1. Visual Studio ouvre la page de documentation relative à cette erreur, le cas échéant. Vous pouvez également utiliser l’outil de recherche en haut de la page pour rechercher des articles sur des erreurs ou des avertissements spécifiques. Vous pouvez également parcourir la liste des erreurs et des avertissements par outil et par type dans la table des matières de cette page.

Remarque

Les erreurs et les avertissements Visual Studio ne sont pas documentés en totalité. Dans de nombreux cas, le message de diagnostic fournit toutes les informations disponibles. Si vous êtes arrivé sur cette page quand vous avez utilisé F1, et si vous pensez que le message d’erreur ou d’avertissement nécessite une explication supplémentaire, faites-le nous savoir. Vous pouvez utiliser les boutons de commentaires de cette page pour signaler un problème de documentation sur GitHub. Si vous pensez que l’erreur ou l’avertissement est incorrect, ou si vous avez trouvé un autre problème relatif à l’ensemble d’outils, signalez un problème de produit sur le site Developer Community. Vous pouvez également envoyer des commentaires et entrer des bogues dans l’IDE. Dans Visual Studio, accédez à la barre de menus, puis choisissez Aide > Envoyer des commentaires > Signaler un problème, ou envoyez une suggestion via Aide > Envoyer des commentaires > Envoyer une suggestion. Certaines rubriques d’erreur du compilateur qui ne sont pas émises par le compilateur ont été créées et redirigent maintenant vers cette page à la place.

Vous trouverez peut-être une aide supplémentaire sur les erreurs et les avertissements dans les forums de Q&A Microsoft Learn. Vous pouvez également rechercher le numéro d’erreur ou d’avertissement sur le site Developer Community de Visual Studio C++. Vous pouvez également effectuer des recherches sur Stack Overflow pour trouver des solutions.

Pour obtenir des liens vers d’autres ressources d’aide et de communauté, consultez Aide et communauté Visual C++.

Messages d’avertissement

Avertissement Message
Avertissement du compilateur (niveaux 2 et 4) C4200 extension non standard utilisée : tableau de taille zéro dans un struct/union
Avertissement du compilateur (niveau 4) C4201 extension non standard utilisée : struct/union sans nom
Avertissement du compilateur (niveau 4) C4202 extension non standard utilisée : '...' : paramètre de prototype non conforme dans la liste de noms
Avertissement du compilateur C4203 extension non standard utilisée : union avec une variable membre statique
Avertissement du compilateur (niveau 4) C4204 extension non standard utilisée : initialiseur d'agrégat non constant
Avertissement du compilateur (niveau 4) C4205 extension non standard utilisée : déclaration de fonction statique au niveau de la portée de la fonction
Avertissement du compilateur (niveau 4) C4206 extension non standard utilisée : unité de traduction vide
Avertissement du compilateur (niveau 4) C4207 extension non standard utilisée : forme de l'initialiseur étendue
Avertissement du compilateur (niveau 4) C4208 extension non standard utilisée : delete [exp] - exp analysée mais ignorée
Avertissement du compilateur (niveau 4) C4210 extension non standard utilisée : portée du fichier accordée à la fonction
Avertissement du compilateur (niveau 4) C4211 extension non standard utilisée : extern redéfini en statique
Avertissement du compilateur (niveau 4) C4212 extension non standard utilisée : points de suspension utilisés dans la déclaration de fonction
Avertissement du compilateur (niveau 4) C4213 extension non standard utilisée : caster sur l-value
Avertissement du compilateur (niveau 4) C4214 extension non standard utilisée : types de champs de bits autres que int
Avertissement du compilateur (niveau 1) C4215 extension non standard utilisée : float long
Avertissement du compilateur (niveau 1) C4216 extension non standard utilisée : float long
Avertissement du compilateur (niveau 4) C4218 extension non standard utilisée : obligation de spécifier au moins une classe de stockage ou un type
Avertissement du compilateur (niveau 4) C4220 varargs correspond aux paramètres restants
Avertissement du compilateur (niveau 4) C4221 extension non standard utilisée : « identificateur » : ne peut pas être initialisé à l'aide de l'adresse de la variable automatique « variable »
Avertissement du compilateur (niveaux 1 et 4) C4223 extension non standard utilisée : tableau de valeurs non-lvalue converti en pointeur
Avertissement du compilateur (niveau 1) C4224 extension non standard utilisée : paramètre formel « identificateur » préalablement défini comme type
Avertissement du compilateur (niveau 1, erreur) C4226 extension non standard utilisée : « mot clé » mot clé obsolète
Avertissement du compilateur (niveau 1) C4227 anachronisme utilisé : qualificateurs de référence ignorés
Avertissement du compilateur (niveau 1) C4228 extension non standard utilisée : les qualificateurs situés après la virgule dans la liste des déclarateurs sont ignorés
Avertissement du compilateur (niveau 1, erreur) C4229 anachronisme utilisé : modificateurs de données ignorés
Avertissement du compilateur (niveau 1) C4230 anachronisme utilisé : modificateurs/qualificateurs parsemés ; qualificateur ignoré
Avertissement du compilateur (niveau 4) C4232 extension non standard utilisée : « identificateur » : l’adresse de dllimport « dllimport » n’est pas statique, l’identité non garantie
Avertissement du compilateur (niveau 1, erreur) C4233 extension non standard utilisée : mot clé « mot clé » uniquement pris en charge en C++ et non en C
Avertissement du compilateur (niveau 4, erreur) C4234 extension non standard utilisée : mot clé « mot clé » réservé pour un usage ultérieur
Avertissement du compilateur (niveau 1, erreur) C4235 extension non standard utilisée : « mot clé » non pris en charge dans cette architecture
Avertissement du compilateur (niveau 1) C4237 Le mot clé « keyword » non pris en charge pour l'instant mais réservé pour un usage ultérieur
Avertissement du compilateur (niveau 4) C4238 extension non standard utilisée : classe rvalue utilisée comme lvalue
Avertissement du compilateur (niveau 4) C4239 extension non standard utilisée : « jeton » : conversion de « type1 » en « type2 »
Avertissement du compilateur (niveau 3) C4240 extension non standard utilisée : l’accès à « classname » est maintenant défini comme « access_specifier1 », précédemment il a été défini comme « access_specifier2 »
Avertissement du compilateur (niveau 3, désactivé) C4242 « identificateur » : conversion de « type1 » en « type2 », perte possible de données
Avertissement du compilateur (niveau 3) C4243 La conversion conversion_type de 'type1' en 'type2' existe, mais n'est pas accessible
Avertissement du compilateur (niveau 2) C4244 « conversion_type » : conversion de « type1 » en « type2 », perte possible de données
Avertissement du compilateur (niveaux 2, 3 et 4) C4244 « conversion_type » : conversion de « type1 » en « type2 », perte possible de données
Avertissement du compilateur (niveau 4) C4245 « conversion_type » : conversion de « type1 » en « type2 », signé/non signé non signé
Avertissement du compilateur (niveau 2) C4250 « nom de classe » : hérite de « base_classname::membre » via la domination
Avertissement du compilateur (niveau 2) C4251 'object_type1' : 'identifier1' nécessite une interface DLL pour être utilisé(e) par les clients de 'identfier2'
Avertissement du compilateur (niveau 4, désactivé) C4254 'operator' : conversion de 'type1':'field_bits' en 'type2':'field_bits', perte possible de données
Avertissement du compilateur (niveau 4, éteint) C4255 « fonction » : aucun prototype de fonction fourni : conversion de '()' en '(void)'
Avertissement du compilateur (niveau 4) C4256 'function' : le constructeur pour la classe avec bases virtuelles a '...' ; les appels peuvent ne pas être compatibles avec les anciennes versions de Visual C++
Avertissement du compilateur (niveau 1) C4258 « variable » : définition provenant de la boucle for ignorée ; la définition provenant de la portée englobante est utilisée
Avertissement du compilateur (niveau 4, éteint) C4263 « fonction » : une fonction membre ne se substitue à aucune fonction membre virtuelle de classe de base
Avertissement du compilateur (niveau 4, éteint) C4264 « virtual_function » : aucune substitution disponible pour la fonction membre virtuelle à partir de la base « nom de classe » ; la fonction est masquée
Avertissement du compilateur (niveau 3, éteint) C4265 'classname' : la classe a des fonctions virtuelles, mais son destructeur non trivial n'est pas virtuel ; les instances de cette classe risquent de ne pas être détruites correctement
Avertissement du compilateur (niveau 4, éteint) C4266 « virtual_function » : aucune substitution disponible pour la fonction membre virtuelle à partir de la base « nom de classe » ; la fonction est masquée
Avertissement du compilateur (niveau 3) C4267 « variable » : conversion de « size_t » en « type », perte possible de données
Avertissement du compilateur (niveau 4) C4268 « identificateur » : les données 'const' static/global initialisées avec le constructeur par défaut généré par le compilateur remplissent l'objet de zéros
Avertissement du compilateur (niveau 1) C4269 « identificateur » : les données automatiques 'const' initialisées avec le constructeur par défaut généré par le compilateur produisent des résultats incertains
Avertissement du compilateur (niveau 1) C4272 « fonction » : est marqué comme __declspec(dllimport) ; une convention d'appel native doit être spécifiée lors de l'importation d'une fonction.
Avertissement du compilateur (niveau 1) C4273 « fonction » : liaison de dll incohérente
Avertissement du compilateur (niveau 1) C4274 #ident ignoré ; voir la documentation pour #pragma comment(exestr, 'string')
Avertissement du compilateur (niveau 2) C4275 interface non dll classkey 'identifier1' utilisée comme base d’une interface classkey 'identifier2'
Avertissement du compilateur (niveau 1) C4276 « fonction » : aucun prototype fourni ; aucun paramètre pris par défaut
Avertissement du compilateur (niveau 1) C4277 l'élément importé « nom de classe::membre » existe à la fois comme donnée membre et comme fonction membre ; donnée membre ignorée
Avertissement du compilateur (niveaux 3 et 4) C4278 « identificateur » : l’identificateur dans la bibliothèque de types « bibliothèque » est déjà une macro ; utilisez le qualificateur « rename »
Avertissement du compilateur (niveaux 3 et 4) C4279 « identificateur » : identificateur dans la bibliothèque de types « bibliothèque » est un mot clé ; utilisez le qualificateur « rename »
Avertissement du compilateur (niveau 3) C4280 'operator ->' était auto-récurrent à travers le type 'type'
Avertissement du compilateur (niveau 3) C4281 'operator ->' récurrence à travers le type 'type1'
Avertissement du compilateur (niveau 3) C4282 puis à travers le type « type2 »
Avertissement du compilateur (niveau 3) C4283 et par le biais du type « typeN »
Avertissement du compilateur (niveau 2) C4285 le type de retour de 'identifier::operator ->' est récurrent si appliqué à l’aide de la notation infixe
Avertissement du compilateur (niveau 1) C4286 'derived_type' : intercepté par la classe de base ('base_type') à la ligne line_number
Avertissement du compilateur (niveau 3, éteint) C4287 « opérateur » : constantes non signées/négatives incompatibles
Avertissement du compilateur (niveau 1) C4288 extension non standard utilisée : « variable » : variable de contrôle de boucle déclarée dans la boucle for utilisée à l'extérieur de la portée de la boucle ; conflit avec la déclaration de la portée externe
Avertissement du compilateur (niveau 4, éteint) C4289 extension non standard utilisée : « variable » : variable de contrôle de boucle déclarée dans la boucle for utilisée à l’extérieur de la portée de la boucle
Avertissement du compilateur (niveau 3) C4290 Spécification d’exception C++ ignorée sauf pour indiquer qu’une fonction n’est pas __declspec(nothrow)
Avertissement du compilateur (niveau 1) C4291 « déclaration » :opérateur delete correspondant introuvable ; la mémoire ne sera pas libérée si l'initialisation lève une exception
Avertissement du compilateur (niveau 1) C4293 « shift_operator » : compteur de décalage négatif ou trop important, comportement non défini
Avertissement du compilateur (niveau 4) C4295 « tableau » :le tableau est trop petit pour comporter un caractère NULL de fin
Avertissement du compilateur (niveau 4, éteint) C4296 'operator' : l’expression est toujours boolean_value
Avertissement du compilateur (niveau 1) C4297 « fonction» » : la fonction lève une exception alors qu'elle est présumée ne pas le faire
Avertissement du compilateur (niveau 4) C4298 'identifier' : l’identificateur de la bibliothèque de types 'library' est déjà une macro ; renommez-le en '__identifier'
Avertissement du compilateur (niveau 4) C4299 'identifier' : l’identificateur de la bibliothèque de types 'library' est un mot clé ; renommez-le en '__identifier'
Avertissement du compilateur C4301 « derived_class::fonction » : la substitution de la fonction virtuelle diffère uniquement de « base_class::fonction » par const/volatile qualificateur
Avertissement du compilateur (niveau 2) C4302 « conversion » : troncation de « type1 » en « type2 »
Avertissement du compilateur (n’est plus émis) C4303 Le cast de style C de 'type1' à 'type2' est déconseillé, utilisez static_cast, __try_cast ou dynamic_cast
Avertissement du compilateur (niveaux 1, 2 et 4) C4305 « conversion » : troncation de « type1 » en « type2 »
Avertissement du compilateur (niveau 4) C4306 « conversion » : conversion de « type1 » en « type2 » d’une taille supérieure
Avertissement du compilateur (niveau 2) C4307 'operator' : dépassement de constante intégrale signé
Avertissement du compilateur (niveau 2) C4308 constante intégrale négative convertie en type non signé
Avertissement du compilateur (niveau 2) C4309 « conversion » : troncation de la valeur constante
Avertissement du compilateur (niveau 4) C4310 le cast tronque la valeur constante
Avertissement du compilateur (niveau 1) C4311 « variable » : troncation de pointeur de « type1 » en « type2 »
Avertissement du compilateur (niveau 1) C4312 « opération »: la conversion de « type1 » en « type2 » d'une taille supérieure
Avertissement du compilateur (niveau 1) C4313 'function' : conflit entre '%format_specifier' dans la chaîne de format et l’argument argument_number de type 'type'
Avertissement du compilateur C4314 le paramètre pragma attendu doit être « 32 » ou « 64 »
Avertissement du compilateur (niveau 4) C4315 'classname' : le pointeur 'this' du membre 'member' ne peut pas être aligné alignment comme attendu par le constructeur
Avertissement du compilateur (niveau 3) C4316 'identifier' : l’objet alloué sur le tas n’est peut-être pas aligné alignment
Avertissement du compilateur (niveau 1) C4317 « printf_family » : nombre insuffisant d'arguments passés pour la chaîne de format
Avertissement du compilateur C4318 passage d'une constante zéro comme longueur de memset
Avertissement du compilateur (niveau 1) C4319 « opérateur » : zero extension « type1 » à « type2 » de plus grande taille
Avertissement du compilateur (niveau 1) C4321 génération automatique d'un IID pour l'interface « interface »
Avertissement du compilateur (niveau 1) C4322 génération automatique d'un CLSID pour la classe « class »
Avertissement du compilateur (niveau 1) C4323 réutilisez le CLSID inscrit pour la classe « class »
Avertissement du compilateur (niveau 4) C4324 'structname' : la structure a été remplie en raison du spécificateur d'alignement
Avertissement du compilateur (niveau 1) C4325 attributs pour la section standard « section » ignoré
Avertissement du compilateur (niveau 1) C4326 le type de retour de « fonction » doit être « type1 » au lieu de « type2 »
Avertissement du compilateur C4327 « assignation » : l’alignement indirect de LHS (« alignment1 ») est supérieur à RHS (« alignment2 »)
Avertissement du compilateur C4328 « fonction » : l’alignement indirection du paramètre formel parameter_number (parameter_alignment) est supérieur à l’alignement réel de l’argument (argument_alignment)
Avertissement du compilateur (niveau 1) C4329 spécificateur d’alignement ignoré sur enum
Avertissement du compilateur (niveau 1) C4330 attribut « attribute » pour la section « section » ignoré
Avertissement du compilateur (niveau 1) C4333 « shift_operator » : décalage droit par trop grande quantité, perte de données
Avertissement du compilateur (niveau 3) C4334 « shift_operator » : résultat du décalage 32 bits converti implicitement en 64 bits (le décalage 64 bits est-il intentionnel ?)
Avertissement du compilateur (niveau 1) C4335 Format de fichier Mac détecté : convertissez le fichier source au format DOS ou UNIX
Avertissement du compilateur (niveau 4) C4336 importer une bibliothèque de types référencée croisée « bibliothèque1 » avant d’importer « bibliothèque2 »
Avertissement du compilateur (niveau 4) C4337 La bibliothèque de types référencée croisée « bibliothèque1 » dans « bibliothèque2 » est automatiquement importée
Avertissement du compilateur (niveau 4) C4338 directive #pragma : la section standard « section » est utilisée
Avertissement du compilateur (niveau 4, éteint) C4339 « type » :utilisation de ce type non défini dans les métadonnées WinRT ou CLR, ce qui peut provoquer une exception runtime
Avertissement du compilateur (niveau 1) C4340 « value » : la valeur est passée d'une valeur positive à une valeur négative
Avertissement du compilateur (niveau 1, non émis) C4342 modification de comportement : « fonction » appelé, mais un opérateur de membre a été appelé dans les versions précédentes
Avertissement du compilateur (niveau 4) C4343 #pragma optimize("g",off) remplace l’option /Og
Avertissement du compilateur (niveau 1) C4344 changement de comportement : l'utilisation d'arguments template explicites entraîne l'appel de « fonction »
Avertissement du compilateur (niveau 1) C4346 « nom » : le nom dépendant n'est pas un type
Avertissement du compilateur (niveau 1) C4348 'type' : redéfinition du paramètre par défaut : paramètre parameter_number
Avertissement du compilateur (niveau 1, non émis) C4350 changement de comportement : : « membre1 » appelé à la place de « membre2 »
Avertissement du compilateur (niveau 1) C4352 « identificateur » : fonction intrinsèque déjà définie
Avertissement du compilateur (niveau 1) C4353 extension non standard utilisée : constante 0 comme expression de fonction. Utilisez la fonction « __noop » intrinsèque à la place
Avertissement du compilateur (niveaux 1 et 4, désactivé) C4355Avertissement du compilateur (niveaux 1 et 4) C4355 « this » : utilisé dans la liste des initialiseurs membre de base
Avertissement du compilateur (niveau 2) C4356 « membre » : les données membres statique ne peuvent pas être initialisées via une classe dérivée
Avertissement du compilateur (niveau 3) C4357 param array argument trouvé dans la liste d'arguments formels pour le délégué « delegate » ignoré lors de la génération de « fonction »
Avertissement du compilateur (niveau 1) C4358 « opérateur » : le type de retour des délégués combinés n'est pas « void » ; la valeur retournée n'est pas définie
Avertissement du compilateur (niveaux 1 et 3) C4359 'type' : le spécificateur d’alignement est inférieur à l’alignement réel (alignment) et sera ignoré.
Avertissement du compilateur (niveau 2) C4362 « type » : un alignement supérieur à 8 octets n'est pas pris en charge par le CLR
Avertissement du compilateur (niveau 1) C4364 #using pour l’assembly 'assembly' déjà rencontré à location(line_number) sans attribut as_friend ; as_friend non appliqué
Avertissement du compilateur (niveau 4, éteint) C4365 « expression » : conversion de « type1 » en « type2 », signé/non signé non signé
Avertissement du compilateur (niveau 4) C4366 Le résultat de l'opérateur « opérateur » unaire risque de ne pas être aligné
Avertissement du compilateur (niveau 3) C4367 La conversion de « type1 » en « type2 » peut entraîner une exception de non-alignement du type de données
Avertissement du compilateur (niveau 1, erreur) C4368 impossible de définir « membre » comme membre de « type » managé : les types mixtes ne sont pas pris en charge
Avertissement du compilateur (niveau 1) C4369 « énumérateur » : la valeur d’énumérateur « value » ne peut pas être représentée comme « type », la valeur est « new_value »
Avertissement du compilateur (niveau 4, n’est plus émis) C4370 « nom de classe » : la disposition de classe a changé par rapport à une version précédente du compilateur en raison d'une meilleure compression.
Avertissement du compilateur (niveau 3, éteint) C4371 « nom de classe » : la disposition de classe peut avoir été modifiée à partir d'une version précédente du compilateur en raison d'une meilleure compression du membre « membre »
Avertissement du compilateur (niveau 4) C4373 'function' : la fonction virtuelle se substitue à 'base_class_function', les versions précédentes n’ont pas été substituées lorsque les paramètres ne différaient que par les qualificateurs const/volatile
Avertissement du compilateur (niveau 1) C4374 « fonction1 » : la méthode d'interface ne sera pas implémentée par une méthode non virtuelle « fonction2 »
Avertissement du compilateur (niveau 1) C4375 la méthode non publique « methode2 » ne remplace pas « methode2 »
Avertissement du compilateur (niveau 1) C4376 Le spécificateur d’accès « specifier1 specifier2: » n’est plus pris en charge ; utilisez « new_specifier: » à la place
Avertissement du compilateur (niveau 1) C4377 les types natifs sont privés par défaut ; -d1PrivateNativeTypes est déconseillé
Avertissement du compilateur (niveau 1) C4378 Les pointeurs fonction sont indispensables à l'exécution des initialiseurs ; utilisez System::ModuleHandle::ResolveMethodHandle à la place
Avertissement du compilateur (niveau 1) C4379 La version « version_number » du Common Language Runtime n’est pas prise en charge par ce compilateur. L’utilisation de cette version peut entraîner des résultats inattendus
Avertissement du compilateur (niveau 1, erreur) C4380 « classe » : un constructeur par défaut ne peut pas être déclaré 'deprecated'
Avertissement du compilateur (niveau 1) C4381 « fonction1 » : la méthode d'interface ne sera pas implémentée par une méthode non publique « fonction2 »
Avertissement du compilateur (niveau 1) C4382 levée de 'type' : un type avec le constructeur de copie ou le destructeur __clrcall ne peut être intercepté que dans le module /clr:pure
Avertissement du compilateur (niveau 1) C4383 « instance_dereference_operator » : la signification de la déréférence d’un handle peut changer, lorsqu’un opérateur « instance_dereference_operator » défini par l’utilisateur existe ; écrivez l’opérateur en tant que fonction statique pour être explicite sur l’opérande.
Avertissement du compilateur (niveau 1) C4384 #pragma 'pragma_name' doit être uniquement utilisé au niveau de la portée globale
Avertissement du compilateur (niveau 3) C4387 « alternative » : a été considéré comme
Avertissement du compilateur (niveau 4, éteint) C4388 « expression » : incompatibilité signée/non signée
Avertissement du compilateur (niveau 4) C4389 « opérateur » : incompatibilité signée/non signée
Avertissement du compilateur (niveau 3) C4390 « ; » : une instruction contrôlée a été trouvée vide ; est-ce que vous souhaitiez ?
Avertissement du compilateur (niveau 1) C4391 « function_signature » : type de retour incorrect pour la fonction intrinsèque, « type » attendu
Avertissement du compilateur (niveau 1, erreur) C4392 « function_signature » : nombre incorrect d’arguments pour la fonction intrinsèque, arguments « argument_count » attendus
Avertissement du compilateur (niveau 1) C4393 'variable' : const n’a aucun effet sur les données membres literal ; ignoré
Avertissement du compilateur (niveau 1, erreur) C4394 'function' : un symbole par appdomain ne doit pas être marqué avec __declspec(dllexport)
Avertissement du compilateur (niveau 1) C4395 « fonction » : la fonction membre sera appelée sur une copie des données membres initonly « membre »
Avertissement du compilateur (niveau 2) C4396 « fonction » : le spécificateur inline ne peut pas être utilisé lorsqu’une déclaration friend se réfère à une spécialisation d’un modèle de fonction
Avertissement du compilateur (niveau 1) C4397 DefaultCharSetAttribute est ignoré
Avertissement du compilateur (niveau 3) C4398 'variable' : un objet global par processus risque de ne pas fonctionner correctement avec plusieurs appdomains ; utilisez __declspec(appdomain) à la place
Avertissement du compilateur (niveau 1, erreur) C4399 'symbol' : un symbole par processus ne doit pas être marqué avec __declspec(dllimport) lorsqu’il est compilé avec /clr:pure

Voir aussi

Erreurs et avertissements du compilateur C/C++ et des outils de génération
Avertissements du compilateur C4000 à C5999