Partager via


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