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