Avertissements du compilateur Microsoft C/C++ C5200 à C5399
Les articles de cette section décrivent les messages d’avertissement du compilateur Microsoft C/C++ C5200 à C5399.
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 (niveau 1) C5200 | la fonctionnalité « feature-name » nécessite l’indicateur de compilateur « option-name » |
Avertissement du compilateur (niveau 1) C5201 | une déclaration de module peut apparaître uniquement au début d'une unité de traduction, sauf si un fragment de module global est utilisé |
Avertissement du compilateur (niveau 1) C5202 | un fragment de module global peut contenir uniquement des directives de préprocesseur |
Avertissement du compilateur (niveau 1) C5203 | un nom de déclarateur entre parenthèses après « explicit » est considéré comme un spécificateur explicite en C++ 20 |
Avertissement du compilateur (niveau 3, désactivé) C5204 | « type-name » : la classe a des fonctions virtuelles, mais son destructeur trivial n'est pas virtuel. Les instances d'objets dérivés de cette classe risquent de ne pas être détruites correctement |
Avertissement du compilateur (niveau 4) C5205 | la suppression d'une classe abstraite « type-name » qui a un destructeur non virtuel entraîne un comportement indéfini |
Avertissement du compilateur (niveau 3) C5206 | les types de retour déduits pour les coroutines sont une extension non normalisée |
Avertissement du compilateur (niveau 1) C5207 | l’exigence simple affirme la validité de l’expression « e->id ». Vouliez-vous dire « { e } -> id » ? Vous pouvez supprimer cet avertissement en utilisant « { e->id } » |
Avertissement du compilateur (niveau 1) C5208 | la classe sans nom utilisée dans le nom typedef ne peut pas déclarer de membres qui ne sont pas des membres de données non statiques, des énumérations de membres ou des classes membres |
Avertissement du compilateur (niveau 1) C5209 | la syntaxe C++20 d'un init-capture est devenue « & ...opt identifier initializer » |
Avertissement du compilateur (niveau 1) C5210 | « name » n'est pas une référence d'unité d'en-tête valide ; ignoré |
Avertissement du compilateur (niveau 1) C5212 | « name » n'est pas une référence nommée valide ; traitement en tant que référence à un fichier |
Avertissement du compilateur (niveau 1) C5213 | la référence nommée « name » est traitée en tant que partition nommée mais le nom n'est pas spécifié ; traitement en tant que référence à un fichier |
Avertissement du compilateur (niveau 4, désactivé) C5214 | l'application de « modifier » à un opérande avec un type qualifié volatile est déprécié en C++20 |
Avertissement du compilateur (niveau 4, désactivé) C5215 | « name » un paramètre de fonction avec un type qualifié volatile est déprécié en C++20 |
Avertissement du compilateur (niveau 4, désactivé) C5216 | « name » un type de retour qualifié volatile est déprécié en C++20 |
Avertissement du compilateur (niveau 4, désactivé) C5217 | une déclaration de liaison structurée incluant volatile est dépréciée en C++20 |
Avertissement du compilateur (niveau 1) C5218 | un opérateur delete de destruction risque de ne pas se comporter comme prévu quand des commutateurs non conformes « /Zc:sizedDealloc- » ou « /Zc:alignedNew- » sont utilisés |
Avertissement du compilateur (niveau 2, désactivé) C5219 | conversion implicite de « type-1 » vers « type-2 », perte possible de données |
Avertissement du compilateur (niveau 4, désactivé) C5220 | « name » : un membre de données non statique avec un type qualifié volatile n'implique plus que les constructeurs de copie/déplacement générés par le compilateur et que les opérateurs d'assignation de copie/déplacement ne sont pas triviaux |
Avertissement du compilateur (niveau 1) C5221 | xfg::rename est déprécié. |
Avertissement du compilateur (niveau 3) C5222 | « attribute-name » : tous les noms d'attributs sans étendue sont réservés pour une normalisation future |
Avertissement du compilateur (niveau 3) C5223 | tous les noms d'attributs de l'espace de noms d'attributs « msvc » sont réservés à des fins d'implémentation |
Avertissement du compilateur (niveau 3) C5224 | tous les noms d'attributs de l'espace de noms d'attributs « namespace-name » sont réservés pour une normalisation future |
Avertissement du compilateur (niveau 1) C5225 | « symbol » : la fonction inline exportée définie dans un fragment de module privé est une extension non standard |
Avertissement du compilateur (niveau 1) C5226 | « symbol » : le modèle exporté défini dans le fragment de module privé n’a pas d’instanciation atteignable |
Avertissement du compilateur (niveau 4) C5227 | l’extension non standard, « symbol » a été résolue en « value », ce qui n'est pas visible avec /permissive- activé. |
Avertissement du compilateur (niveau 4) C5228 | l’extension non standard, « identifier » a été résolue en membre d’une base dépendante. Cette recherche n’est pas autorisée avec /permissive- . |
Avertissement du compilateur (niveau 4) C5229 | l’extension non standard, la fonction friend masquée « function-name » a été trouvée à l'aide d'une recherche de nom qui n'est pas autorisée avec /permissive- . |
Avertissement du compilateur C5230 | l’extension non standard, « identifier » a été résolue en « symbol-1 » avec /permissive . Avec /permissive- , elle se résoudrait en « symbol-2 ». |
Avertissement du compilateur (niveau 3) C5231 | L'expression « co_await promise.final_suspend() » ne doit pas être levée |
Avertissement du compilateur (niveau 1) C5232 | dans C++20, cette comparaison appelle « name » de manière récursive |
Avertissement du compilateur (niveau 4, désactivé) C5233 | la capture lambda explicite « identifier » n’est pas utilisée |
Avertissement du compilateur (niveau 1) C5234 | erreur du système de fichiers : « filename » n'est pas un nom d'en-tête valide ; valeur ignorée |
Avertissement du compilateur (niveau 1) C5235 | Erreur d’analyse JSON : message; ignorer « filename » |
Avertissement du compilateur (niveau 1) C5236 | JSON mal formé : message; ignorer « filename » |
Avertissement du compilateur (niveau 1) C5237 | ne peut pas résoudre l’entrée d’unité d’en-tête « name » dans un fichier d’en-tête dans « filename » ; ignorer l’entrée |
Avertissement du compilateur (niveau 1) C5238 | erreur du système de fichiers : impossible d'ouvrir « filename » en lecture ; opération ignorée |
Avertissement du compilateur (niveau 4) C5239 | « symbol » : fonction potentiellement levée appelée à partir d’une fonction déclarée __declspec(nothrow) . Un comportement non défini peut se produire si une exception est levée. |
Avertissement du compilateur (niveau 4) C5240 | « attribute-name » : l’attribut est ignoré dans cette position syntaxique |
Avertissement du compilateur (niveau 1) C5241 | L'utilisation de « /exportHeader » pour rechercher le nom d'en-tête est dépréciée ; préférez « /headerName:name value=filename » |
Avertissement du compilateur (niveau 1) C5242 | erreur de syntaxe dans pragma « identifier » |
Avertissement du compilateur (niveau 1, désactivé) C5243 | « type-name » : l’utilisation d’une classe incomplète « class-name » peut provoquer une violation d’une règle de définition potentielle en raison d’une limitation ABI |
Avertissement du compilateur (niveau 1) C5244 | « #include <filename> » dans le purview du module « module-name-1 » apparaît erroné. Envisagez de déplacer cette directive avant la déclaration du module, ou remplacez l’inclusion textuelle par « import <module-name-2>; ». |
Avertissement du compilateur (niveau 4, désactivé) C5245 | « function » : la fonction non référencée avec liaison interne a été supprimée |
Avertissement du compilateur (niveau 1, désactivé) C5246 | « member » : l’initialisation d’un sous-objet doit être encapsulée entre accolades |
Avertissement du compilateur (niveau 1, désactivé) C5247 | la section « section-name » est réservée à l’initialisation dynamique C++. La création manuelle de la section interfère avec l’initialisation dynamique C++ et peut entraîner un comportement non défini |
Avertissement du compilateur (niveau 1, désactivé) C5248 | la section « section-name » est réservée à l’initialisation dynamique C++. Les variables placées manuellement dans la section peuvent être optimisées et leur ordre relatif aux initialiseurs dynamiques générés par le compilateur n’est pas spécifié. |
Avertissement du compilateur (niveau 1, désactivé) C5249 | « bitfield » de type « enumeration_name » a nommé des énumérateurs avec des valeurs qui ne peuvent pas être représentées dans la largeur de champ de bits donnée de « bitfield_width ». |
Avertissement du compilateur (niveau 3, désactivé) C5250 | « function_name » : fonction intrinsèque non déclarée. |
Avertissement du compilateur (niveau 4, désactivé) C5251 | segment-name modifié après avoir inclus l’en-tête |
Avertissement du compilateur (niveau 4) C5252 | Plusieurs types différents ont généré le même hachage de type XFG hash-value ; le fichier PDB enregistre uniquement les informations pour l’un d’entre eux |
Avertissement du compilateur (niveau 4) C5253 | une expression lambda non locale ne peut pas avoir de capture par défaut |
Avertissement du compilateur (niveau 4, désactivé) C5254 | la fonctionnalité de langage « terse static assert » nécessite l’indicateur de compilateur « /std:c++17 » |
Avertissement du compilateur (niveau 3) C5255 | caractère bidirectionnel non indéterminé rencontré : « U+XXXX » |
Avertissement du compilateur (niveau 1, désactivé) C5256 | « enumeration » : une déclaration non définie d’une énumération avec un type sous-jacent fixe n’est autorisée qu’en tant que déclaration autonome |
Avertissement du compilateur (niveau 1 ou 4) C5257 | « enumeration » : l’énumération a été déclarée précédemment sans type sous-jacent fixe |
Avertissement du compilateur (niveau 4, désactivé) C5258 | la capture explicite de « symbol » n’est pas requise pour cette utilisation |
Avertissement du compilateur (niveau 4, désactivé) C5259 | « specialized-type » : la spécialisation explicite nécessite « template <> » |
Avertissement du compilateur (niveau 1) C5260 | la variable constante « variable-name » a une liaison interne dans un contexte de fichier d'en-tête inclus, mais une liaison externe dans un contexte d'unité d'en-tête importé ; pensez à le déclarer également « inline » s'il sera partagé entre les unités de traduction, ou « static » pour exprimer l'intention de l'utiliser localement pour cette unité de traduction |
Avertissement du compilateur (niveau 2) C5261 | aucun type entier ne peut représenter toutes les valeurs d’énumérateur dans l’énumération « enum-name » |
Avertissement du compilateur (niveau 1, erreur, désactivé) C5262 | la chute implicite se produit ici ; manquez-vous une déclaration d’arrêt ? Utiliser [[fallthrough]] lorsqu’une instruction break est intentionnellement omise entre les cas |
Avertissement du compilateur (niveau 4, désactivé) C5263 | l'appel de « std::move » sur un objet temporaire empêche l'élision de copie |
Avertissement du compilateur (niveau 4, désactivé) C5264 | « variable-name » : la variable « const » n’est pas utilisée |
Avertissement du compilateur (niveau 1) C5265 | impossible d’ouvrir le chemin de recherche « path » |
Avertissement du compilateur (niveau 4, désactivé) C5266 | Le qualificateur « const » sur le type de retour n’a aucun effet |
Avertissement du compilateur C5267 | la définition de constructeur/d’affectation de copie implicite pour « type » est déconseillée, car elle a un opérateur d’affectation/constructeur de copie fourni par l’utilisateur |
Avertissement du compilateur (niveau 1) C5268 | Échec de l’allocation de mémoire à l’adresse 0x de l’adresse fixe. Utilisez /Yb pour spécifier une base d’adresses spécifique si des fichiers .pch identiques au bit sont requis. |
Avertissement du compilateur (niveau 1) C5269 | Échec de l’allocation de mémoire PCH à l’adresse 0x de l’adresse fixe. Utilisez /Ym pour spécifier une base d’adresses spécifique si des fichiers .pch identiques au bit sont requis. |
Avertissement du compilateur (niveau 3) C5270 | « value » n’est pas autorisée pour l’option « switch name » ; les valeurs autorisées sont : liste de valeurs |
Avertissement du compilateur (niveau 4) C5271 | l’assembly précédemment importé « assembly1 » a le même nom que l’assembly « assembly2 » importé. Est-ce intentionnel ? |
Avertissement du compilateur (niveau 1) C5272 | la levée d’un objet de type non copiable « type » n’est pas standard. Si une copie est nécessaire au moment de l’exécution, elle sera effectuée comme par memcpy . |
Avertissement du compilateur (niveau 1) C5273 | changement de comportement : _Alignas sur le type anonyme n’est plus ignoré (les membres promus s’alignent) |
Avertissement du compilateur (niveau 1) C5274 | changement de comportement : _Alignas ne s’applique plus au type « type » (s’applique uniquement aux objets de données déclarés) |
Avertissement du compilateur (erreur) C5275 | assembly de façade « name » en cours d’importation sous « /clr » ; option manquante « /clr:netcore » ? |
Avertissement du compilateur (niveau 1, erreur) C5300 | '#pragma atomique omp' : l’opérande gauche de « operator » doit correspondre au côté gauche de l’affectation-expression |
Avertissement du compilateur (niveau 1) C5301 | « #pragma omp for » : « loop-index » augmente tandis que la condition de boucle utilise « comparison » ; boucle sans fin ? |
Avertissement du compilateur (niveau 1) C5302 | « #pragma omp for » : « loop-index » diminue tandis que la condition de boucle utilise « comparison » ; boucle sans fin ? |
Avertissement du compilateur (niveau 1) C5303 | la fonction marquée avec [[msvc::intrinsic]] n’a pas entraîné de cast sans opération |
Avertissement du compilateur (niveau 1) C5304 | une déclaration désignée par la déclaration utilisée « name1 » exportée à partir de ce module a une liaison interne et l’utilisation d’un tel nom en dehors du module est incorrecte ; envisagez de déclarer « name2 » en tant que « inline » pour l’utiliser en dehors de ce module |
Avertissement du compilateur (niveau 1) C5305 | « name » : une déclaration d’instanciation explicite qui suit une définition d’instanciation explicite est ignorée |
Voir aussi
Erreurs et avertissements du compilateur C/C++ et des outils de génération
Avertissements du compilateur C4000 à C5999