Avertissements du compilateur Microsoft C/C++ C5000 à C5199

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

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 C5022 « Type» : plusieurs constructeurs de déplacement spécifiés
Avertissement du compilateur C5023 « Type» : plusieurs opérateurs d'assignation de déplacement spécifiés
Avertissement du compilateur (niveau 4, désactivé) C5024 « Type» : le constructeur de déplacement a été implicitement défini comme supprimé
Avertissement du compilateur (niveau 4, désactivé) C5025 « Type» : l'opérateur d'assignation de déplacement a été implicitement défini comme supprimé
Avertissement du compilateur (niveaux 1 et 4, désactivé) C5026 « Type» : le constructeur de déplacement a été implicitement défini comme supprimé
Avertissement du compilateur (niveaux 1 et 4, désactivé) C5027 « Type» : l'opérateur d'assignation de déplacement a été implicitement défini comme supprimé
Avertissement du compilateur (niveau 1) C5028 « Name» : l'alignement spécifié dans la déclaration antérieure (numéro) n'est pas spécifié dans la définition
Avertissement du compilateur (niveau 4, désactivé) C5029 extension non standard utilisée : les attributs d'alignement en C++ s'appliquent uniquement aux variables, aux membres de données et aux types de balises
Avertissement du compilateur (niveau 3) C5030 l’attribut « attribute-name» n’est pas reconnu
Avertissement du compilateur (niveau 4, désactivé) C5031 #pragma warning(pop): incompatibilité probable, état d'avertissement de pavage envoyé dans un autre fichier
Avertissement du compilateur (niveau 4, désactivé) C5032 #pragma warning(push) détecté sans #pragma warning(pop) correspondant
Avertissement du compilateur(niveau 1) C5033 « storage-class » n'est plus une classe de stockage prise en charge
Avertissement du compilateur (niveau 5, désactivé) C5034 l'utilisation d'une intrinsèque « intrinsic » entraîne la compilation de function-name en tant que code invité
Avertissement du compilateur (niveau 5, désactivé) C5035 l'utilisation d'une fonctionnalité « feature » entraîne la compilation de function-name en tant que code invité
Avertissement du compilateur (niveau 1) C5036 conversion du pointeur de fonction varargs lors de la compilation avec /hybrid:x86arm64 « type1 » vers « type2 »
Avertissement du compilateur (erreur) C5037 « member-function » : une définition hors ligne d’un membre d’un modèle de classe ne peut pas avoir d’arguments par défaut
Avertissement du compilateur (niveau 4, désactivé) C5038 le membre de données « member1 » sera initialisé après le membre de données « member2 »
Avertissement du compilateur (niveau 4, désactivé) C5039 « fonction » : pointeur ou référence à la fonction potentiellement levée passée à la fonction extern C sous -EHc. Un comportement non défini peut se produire si cette fonction lève une exception.
Avertissement du compilateur (niveau 3) C5040 les spécifications d'exceptions dynamiques sont valides uniquement en C++14 et dans les versions antérieures ; traitement comme noexcept(false)
Avertissement du compilateur (niveau 1, désactivé) C5041 « definition »: la définition hors ligne du membre de données statique constexpr n'est pas nécessaire et est dépréciée en C++17
Avertissement du compilateur (niveau 3, désactivé) C5042 « declaration » : les déclarations de fonction à la portée de bloc ne peuvent pas être spécifiées « inlined » en C++ standard ; supprimez le spécificateur « inlined »
Avertissement du compilateur (niveau 2) C5043 « specification » : la spécification d'exception ne correspond pas à la déclaration précédente
Avertissement du compilateur (niveau 4) C5044 Un argument de l'option de ligne de commande option-name pointe vers un chemin d’accès « path-name » qui n'existe pas
Avertissement du compilateur (niveau 4) C5045 Le compilateur va insérer l'atténuation Spectre à la charge de mémoire si le commutateur /Qspectre est spécifié
Avertissement du compilateur (niveau 2) C5046 « function »: symbole impliquant un type avec une liaison interne non définie
Avertissement du compilateur (niveau 1) C5047 l'utilisation d’une instruction __if_exists non standard n'est pas prise en charge avec des modules
Avertissement du compilateur (niveau 1) C5048 L'utilisation de la macro « macroname » peut entraîner une sortie non déterministe
Avertissement du compilateur (niveau 1) C5049 « string » : l'incorporation d'un chemin complet peut entraîner une sortie dépendante de la machine
Avertissement du compilateur (niveau 1) C5050 Environnement potentiellement incompatible pendant l'importation du module « module_name » : problème
Avertissement du compilateur (niveau 1) C5051 l’attribut « attribute-name » nécessite au moins un « niveau standard » ; ignoré
Avertissement du compilateur (niveau 3, désactivé) C5052 Le mot clé « keyword-name » a été introduit dans C++<version> et nécessite l’utilisation de l’option de ligne de commande « option-name »
Avertissement du compilateur (niveau 1) C5053 la prise en charge de « explicit(<expr>) » en C++17 et dans les versions antérieures est une extension du fournisseur
Avertissement du compilateur (niveau 4) C5054 opérateur « operator-name » : déprécié entre des énumérations de types différents
Avertissement du compilateur (niveau 1) C5055 opérateur « operator-name » : déprécié entre des énumérations et des types à virgule flottante
Avertissement du compilateur (niveau 1) C5056 opérateur « operator-name » : déprécié pour les types tableau
Avertissement du compilateur (niveau 1) C5057 la référence d’unité d’en-tête à « name » existe déjà. Ignorer l’unité d’en-tête « header-name »
Avertissement du compilateur (niveau 1) C5058 erreur du système de fichiers : fichier d'en-tête « file-name » introuvable pour l'unité d'en-tête « unit-name »
Avertissement du compilateur C5059 les vérifications à l'exécution et l’assainissement d’adresse ne sont pas pris en charge : désactiver les vérifications à l'exécution
Avertissement du compilateur (niveau 4) C5060 /Qpar et l’assainissement d’adresse ne sont actuellement pas pris en charge : désactiver la parallélisation automatique
Avertissement du compilateur (niveau 4) C5061 l'utilisation d'un opérateur virgule comme expression d'indice a été dépréciée
Avertissement du compilateur (niveau 4) C5062 l'initialisation de liste directe d'enums entre « type-1 » et « type-2 » n'est plus prise en charge
Avertissement du compilateur (niveau 1) C5063 « std::is_constant_evaluated » prend toujours la valeur true dans les expressions manifestement à évaluation constante
Avertissement du compilateur (niveau 1) C5072 ASAN activé sans émission d’informations de débogage. Activer les informations de débogage pour une meilleure création de rapports d’erreurs ASAN
Avertissement du compilateur (niveau 1) C5081 Le patch à chaud sécurisé n’est pas pris en charge avec /GENPROFILE, /FASTGENPROFILE ou /LTCG:PGI, désactiver le patch à chaud sécurisé.
Avertissement du compilateur (niveau 1) C5100 l’utilisation de __VA_ARGS__ est réservée aux macros variadiques
Avertissement du compilateur (niveau 1) C5101 l'utilisation d'une directive de préprocesseur dans la liste des arguments d'une macro de type fonction est un comportement non défini
Avertissement du compilateur (niveau 1) C5102 ignorer la définition de la macro de la ligne de commande non valide « value »
Avertissement du compilateur (niveau 1) C5103 coller « token1 » et « token2 » ne permet pas d'obtenir un jeton de prétraitement valide
Avertissement du compilateur (niveau 1) C5104 « string1#string2 » trouvé dans la liste de remplacement de la macro, vous voulez plutôt dire « string1""#string2 » ?
Avertissement du compilateur (niveau 1) C5105 l’expansion de macro produisant « defined » a un comportement non défini
Avertissement du compilateur (niveau 1) C5106 macro redéfinie avec des noms de paramètres différents
Avertissement du compilateur (niveau 1) C5107 caractère de fin « char » absent
Avertissement du compilateur (niveau 1) C5108 l’utilisation de __VA_OPT__ est réservée aux macros variadiques
Avertissement du compilateur (niveau 1) C5109 l’utilisation de __VA_OPT__ dans la macro nécessite « /Zc:preprocessor »
Avertissement du compilateur (niveau 4, désactivé) C5110 __VA_OPT__ est une extension antérieure à C++20 ou C23

Voir aussi

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