Partager via


Avertissements du compilateur Microsoft C/C++ C4600 à C4799

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

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) C4600 #pragma « macro name » : chaîne valide non vide attendue
Avertissement du compilateur (niveau 1) C4602 #pragma pop_macro : «nom_macro» pas de #pragma push_macro défini au préalable pour cet identificateur
Avertissement du compilateur (niveau 1) C4603 « identificateur » : la macro n’est pas définie ou la définition est différente après utilisation de l’en-tête précompilé
Avertissement du compilateur (niveau 1) C4604 « type» : le passage d'un argument par valeur à travers une frontière native et managée nécessite un constructeur de copie valide. Sinon, le comportement au moment de l’exécution est non défini
Avertissement du compilateur (niveau 1) C4605 « /Dmacro » a été spécifié sur la ligne de commande actuelle, mais n'a pas été spécifié quand l'en-tête précompilé a été généré
Avertissement du compilateur (niveau 1) C4606 #pragma avertissement : « numéro d’avertissement » ignoré ; les avertissements liés à l'analyse du code ne sont pas associés à des niveaux d'avertissement
Avertissement du compilateur (niveau 3) C4608 'union_member' a déjà été initialisé par un autre membre union dans la liste des initialiseurs, 'union_member'
Avertissement du compilateur (niveau 3, erreur) C4609 « type1 » dérive de l’interface par défaut « interface » sur le type « type2 ». Utilisez une autre interface par défaut pour « type1 », ou arrêtez la relation de base/dérivée.
Avertissement du compilateur (niveau 4) C4610 la « classe » de l’objet ne peut jamais être instanciée - constructeur défini par l'utilisateur requis
Avertissement du compilateur (niveau 4) C4611 l'interaction entre « fonction » et la destruction d'objet C++ n'est pas portable
Avertissement du compilateur (niveau 1) C4612 erreur dans le nom de fichier Include
Avertissement du compilateur (niveau 1) C4613 « symbole » : la classe d’un segment ne peut pas être modifiée
Avertissement du compilateur (niveau 1) C4615 #pragma avertissement : type d'avertissement utilisateur inconnu
Avertissement du compilateur (niveau 1) C4616 #pragma avertissement : le numéro d'avertissement « numéro » n'est pas un avertissement de compilateur valide
Avertissement du compilateur (niveau 1) C4618 les paramètres pragma comportaient une chaîne vide ; pragma ignoré
Avertissement du compilateur (niveau 3) C4619 #pragma warning : numéro d'avertissement inexistant 'numéro'
Avertissement du compilateur (niveau 1) C4620 aucune forme suffixée de l’opérateur 'operator ++' trouvée pour le type 'type' ; utilisez la forme préfixée
Avertissement du compilateur (niveau 1) C4621 aucune forme suffixée de l’opérateur « -- » trouvée pour le type « type » ; utilisez la forme préfixée
Avertissement du compilateur (niveau 3) C4622 Remplacement des informations de débogage formées lors de la création de l’en-tête précompilé du fichier objet : « fichier »
Avertissement du compilateur (niveau 4) C4623 « classe dérivée » : le constructeur par défaut a été défini de manière implicite comme supprimé, car un constructeur par défaut de la classe de base est inaccessible ou supprimé
Avertissement du compilateur (niveau 1) C4624 « classe dérivée » : le destructeur a été défini de manière implicite comme supprimé car un destructeur de la classe de base est inaccessible ou supprimé
Avertissement du compilateur (niveau 4) C4625 « classe dérivée » : le constructeur de copie a été défini de manière implicite comme supprimé car un constructeur de copie de la classe de base est inaccessible ou supprimé
Avertissement du compilateur (niveau 4) C4626 « classe dérivée » : l'opérateur d'assignation a été défini de manière implicite comme supprimé car un opérateur d'assignation de la classe de base est inaccessible ou supprimé
Avertissement du compilateur (niveau 1) C4627 « <identificateur> » : ignoré lors de la recherche d’une utilisation d’un en-tête précompilé
Avertissement du compilateur (niveau 1) C4628 digrammes non pris en charge avec -Ze. Séquence de caractères « digramme»' non interprétée comme jeton de remplacement pour « %s »
Avertissement du compilateur (niveau 4) C4629 digrammes utilisés, séquence de caractères 'digramme' interprétée comme jeton 'caractère' (insérez un espace entre les deux caractères si cela n’est pas ce que vous souhaitiez)
Avertissement du compilateur (niveau 1) C4630 « symbole » : spécificateur de classe de stockage « externe » non conforme à la définition de membre
Avertissement du compilateur (niveau 2) C4631 MSXML ou XPath non disponible, les commentaires de document XML ne seront pas traités. reason
Avertissement du compilateur (niveau 1) C4632 commentaire de documentattion XML : fichier - accès refusé : raison
Avertissement du compilateur (niveau 3) C4633 Cible de commentaire de document XML : erreur : raison
Avertissement du compilateur (niveau 4) C4634 Cible de commentaire de document XML : application impossible : raison
Avertissement du compilateur (niveau 3) C4635 Cible de commentaire de document XML : code XML incorrect : raison
Avertissement du compilateur (niveau 3) C4636 Commentaire de document XML appliqué à la construction : la balise requiert un attribut « attribut » non vide.
Avertissement du compilateur (niveaux 3 et 4) C4637 Cible de commentaire de document XML : < inclut > étiquette ignorée. Motif
Avertissement du compilateur (niveau 3) C4638 Cible de commentaire de document XML : référence à un symbole « symbole » inconnu.
Avertissement du compilateur (niveau 4) C4639 Erreur MSXML, les commentaires de document XML ne seront pas traités. Motif
Avertissement du compilateur (niveau 3) C4640 'instance' : la construction d'un objet static local n'est pas thread-safe
Avertissement du compilateur (niveau 3) C4641 Le commentaire de document XML comporte une référence croisée ambiguë :
Avertissement du compilateur (niveau 1) C4642 « classe » : impossible d'importer les contraintes pour le paramètre générique « nom »
Avertissement du compilateur (niveau 4, éteint) C4643 La déclaration anticipée « identificateur » dans l’espace de noms std n’est pas autorisée par la norme C++.
Avertissement du compilateur (niveau 1) C4644 Utilisation non standard du modèle offsetof de type macro dans les expressions constantes ; utilisez plutôt offsetof défini dans la bibliothèque standard C++
Avertissement du compilateur (niveau 3) C4645 la fonction déclarée avec __declspec(noreturn) a une instruction return
Avertissement du compilateur (niveau 3) C4646 la fonction déclarée avec __declspec(noreturn) a un type de retour non void
Avertissement du compilateur (niveau 3) C4647 changement de comportement : __is_pod(type) a une valeur différente dans les versions précédentes
Avertissement du compilateur (niveau 3) C4648 l'attribut standard « carries_dependency » est ignoré
Avertissement du compilateur (niveau 3) C4649 les attributs sont ignorés dans ce contexte
Avertissement du compilateur (niveau 1) C4650 Informations de débogage absentes de l'en-tête précompilé ; seuls les symboles globaux de l'en-tête seront disponibles
Avertissement du compilateur (niveau 1) C4651 « définition » précisée pour l'en-tête précompilé, mais non pour la compilation active
Avertissement du compilateur (niveau 1) C4652 option du compilateur « option » non cohérente avec l'en-tête précompilé ; l'option de ligne de commande active se substituera à celle définie dans l'en-tête précompilé
Avertissement du compilateur (niveau 2) C4653 option de compilateur « option » non cohérente avec l'en-tête précompilé ; option de ligne de commande active ignorée
Avertissement du compilateur (niveau 4) C4654 Le code placé avant l'insertion d'une ligne d'en-tête précompilé sera ignoré. Ajoutez du code à l’en-tête précompilé.
Avertissement du compilateur (niveau 1) C4655 « symbole » : type de variable postérieur à la dernière génération, ou défini différemment à un autre endroit
Avertissement du compilateur (niveau 1) C4656 « symbole » : type de données postérieur à la dernière génération, modifié depuis, ou défini différemment à un autre endroit
Avertissement du compilateur (niveau 1) C4657 l'expression implique un type de données postérieur à la dernière génération
Avertissement du compilateur (niveau 1) C4658 « fonction » : le prototype de fonction est postérieur à la dernière génération, ou est déclaré différemment à un autre endroit
Avertissement du compilateur (niveau 1) C4659 #pragma « pragma » : l’utilisation du segment réservé « segment » a un comportement non défini, utiliser #pragma comment (éditeur de liens...)
Avertissement du compilateur (niveau 1) C4661 « identificateur » : aucune définition appropriée fournie pour la requête explicite d'instanciation du modèle
Avertissement du compilateur (niveau 1) C4662 instanciation explicite ; la classe de modèle 'identificateur1' n’a aucune définition pour spécialiser 'identificateur2'
Avertissement du compilateur (niveau 1) C4667 « fonction » : aucun modèle de fonction défini correspondant à l'instanciation imposée
Avertissement du compilateur (niveau 4) C4668 « symbole » non défini comme macro de préprocesseur, remplacement par « 0 » pour « directives »
Avertissement du compilateur (niveau 1) C4669 « cast » : conversion risquée : la « classe » est un objet de type managé
Avertissement du compilateur (niveau 4) C4670 « identificateur » : cette classe de base n’est pas accessible
Avertissement du compilateur (niveau 4) C4671 « identificateur » : le constructeur de copie est inaccessible
Avertissement du compilateur (niveau 4) C4672 « identificateur1 » : ambigu. Déjà rencontré comme 'identifier2'
Avertissement du compilateur (niveau 4) C4673 si « identificateur » est levé, les types suivants ne sera pas pris en compte au niveau du site d'interception
Avertissement du compilateur (niveau 1) C4674 'method' doit être déclaré 'static' et avoir un seul paramètre
Avertissement du compilateur (niveau 4) C4676 « %s » : le destructeur est inaccessible
Avertissement du compilateur (niveau 1) C4677 « fonction » : la signature de membre non privée contient un type privé d'assembly « type_privé »
Avertissement du compilateur (niveau 1) C4678 La classe de base 'base_type' est moins accessible que 'derived_type'
Avertissement du compilateur (niveau 1) C4679 « membre » : impossible d'importer le membre
Avertissement du compilateur (niveau 4) C4680 « classe » : la coclasse ne spécifie pas d'interface par défaut
Avertissement du compilateur (niveau 4) C4681 « classe » : la coclasse ne spécifie pas d’interface par défaut qui soit une source d’événement
Avertissement du compilateur (niveau 4) C4682 « paramètre » : aucun attribut de paramètre directionnel spécifié, [in] pris par défaut
Avertissement du compilateur (niveau 1) C4683 « fonction »: la source d'événements a un paramètre de type « out » ; faites attention lorsque vous raccordez plusieurs gestionnaires d'événements
Avertissement du compilateur (niveau 1) C4684 « attribut » : AVERTISSEMENT !! L'attribut peut entraîner une génération de code non valide : à utiliser avec prudence
Avertissement du compilateur (niveau 1) C4685 « attendu »>> « trouvé » >> lors de l'analyse des paramètres du modèle »
Avertissement du compilateur (niveau 3) C4686 ’type défini par l’utilisateur’ : changement de comportement possible, changement de la convention d’appel de retour UDT
Avertissement du compilateur (erreur) C4687 « classe » : une classe abstraite sealed ne peut pas implémenter une interface « interface »
Avertissement du compilateur (niveau 1) C4688 'constraint' : la liste des contraintes contient un type privé d’assembly 'type'
Avertissement du compilateur (niveau 1) C4689 '%c' : caractère non pris en charge dans #pragma detect_mismatch ; #pragma ignoré
Avertissement du compilateur (niveau 4) C4690 [ emitidl( pop ) ] : plus d’opérations pop que d’opérations push
Avertissement du compilateur (niveau 1) C4691 « type » : le type référencé était attendu dans l’assembly non référencé « fichier » ; le type défini dans l'unité de traduction actuelle est utilisé à la place
Avertissement du compilateur (niveau 1) C4692 'fonction' : la signature de membre non privée contient un type natif privé d'assembly 'type_natif'
Avertissement du compilateur (niveau 1, erreur) C4693 « classe » : une classe abstraite sealed ne peut pas avoir de membres d’instance « membre d’instance »
Avertissement du compilateur (niveau 1, erreur) C4694 « classe» : une classe abstraite sealed ne peut pas avoir de classe de base « classe de base »
Avertissement du compilateur (niveau 1) C4695 #pragma execution_character_set: « jeu de caractères » n'est pas un argument pris en charge : actuellement seul « UTF-8 » est pris en charge
Avertissement du compilateur (niveau 1) C4696 l’option /ZBvalue1 est hors limites ; en supposant « valeur2 »
Avertissement du compilateur (niveau 3) C4698 « fonctionnalité » est utilisée à des fins d'évaluation uniquement. Elle sera peut-être changée ou supprimée au cours des prochaines mises à jour.
Avertissement du compilateur (niveaux 1 et 4) C4700 variable locale « nom » non initialisée utilisée
Avertissement du compilateur (niveau 4) C4701 variable locale « nom » potentiellement non initialisée utilisée
Avertissement du compilateur (niveau 4) C4702 code inaccessible
Avertissement du compilateur (niveau 4) C4703 variable de pointeur locale « %s » potentiellement non initialisée utilisée
Avertissement du compilateur (niveau 4) C4706 assignation au sein d'une expression conditionnelle
Avertissement du compilateur (niveau 4) C4709 opérateur virgule au sein d'une expression d'index de tableau
Avertissement du compilateur (niveau 4) C4710 'fonction' : fonction non inline
Avertissement du compilateur (niveau 1) C4711 fonction « fonction » sélectionnée pour l'expansion inline automatique
Avertissement du compilateur (niveau 4) C4714 fonction « fonction » marquée comme __forceinline non inlined
Avertissement du compilateur (niveau 1) C4715 « fonction » : les chemins de contrôle ne retournent pas tous une valeur
Avertissement du compilateur (niveau 1, erreur) C4716 « fonction » : doit retourner une valeur
Avertissement du compilateur (niveau 1) C4717 « fonction » : récursive sur tous les chemins d'accès de contrôle, la fonction entraînera un dépassement de capacité de la pile d'exécution
Avertissement du compilateur (niveau 4) C4718 « appel de fonction » : un appel récursif n’a pas d’effets secondaires, suppression
Avertissement du compilateur (niveau 1) C4719 constante double trouvée avec Qfast spécifié - utilisez « f » comme suffixe pour indiquer une simple précision
Avertissement du compilateur (niveau 2) C4720 l'assembleur inline signale : « message »
Avertissement du compilateur (niveau 1) C4721 « fonction » : non disponible comme fonction intrinsèque
Avertissement du compilateur (niveau 1) C4722 « fonction » : aucun retour du destructeur, fuite de mémoire possible
Avertissement du compilateur (niveau 3) C4723 division potentielle par 0
Avertissement du compilateur (niveau 3) C4724 modulo potentiel par 0
Avertissement du compilateur (niveau 3) C4725 l'instruction peut manquer de précision sur certains processeurs Pentium
Avertissement du compilateur C4726 ARM arch4/4T ne prend en charge que « <cpsr_f> » ou « <spsr_f> » avec une valeur immédiate
Avertissement du compilateur (niveau 1) C4727 PCH nommé pch_file avec le même timestamp trouvé dans obj_file_1 et obj_file_2. Utilisation du premier PCH.
Avertissement du compilateur (niveau 1) C4728 Option /Yl- ignorée, car la référence PCH est requise
Avertissement du compilateur (niveau 4) C4729 fonction trop importante pour les avertissements bas‚s sur les graphes de flux
Avertissement du compilateur (niveau 1) C4730 « principal » : la combinaison de _m64 et d'expressions en virgule flottante peut entraîner un code erroné
Avertissement du compilateur (niveau 1) C4731 « pointeur » : registre de pointeur de frame « registre » modifié par le code assembly inline
Avertissement du compilateur (niveau 1) C4732 '%s' intrinsèque n'est pas pris en charge dans cette architecture
Avertissement du compilateur (niveau 1) C4733 attribution de Inline asm à « FS:0 » : gestionnaire non inscrit en tant que gestionnaire safe
Avertissement du compilateur C4734 Plus de 64 000 numéros de ligne dans une section d'informations de débogage COFF ; arrêt de l'émission de numéros de ligne de débogage COFF pour le module « module »
Avertissement du compilateur C4735 align_function argument d’attribut « argument » n’est pas une puissance de deux et n’est pas positif. Ignorer l’attribut
Avertissement du compilateur C4736 align_functionattribut ignoré, car /Gy n'a pas été spécifié
Avertissement du compilateur (niveau 3) C4738 stockage de résultat flottant 32 bits en mémoire, perte possible de performances
Avertissement du compilateur (niveau 1) C4739 la référence à la variable ’var’ dépasse la taille de son espace de stockage
Avertissement du compilateur (niveau 4) C4740 le flux entrant ou sortant du code asm inline supprime l'optimisation globale
Avertissement du compilateur (niveau 1) C4742 « var » présente un alignement différent dans « fichier1 » et « fichier2 » : nombre et nombre
Avertissement du compilateur (niveau 1) C4743 « type » a une taille différente dans « fichier1 » et « fichier2 » : nombre et nombre d’octets
Avertissement du compilateur (niveau 1) C4744 « var » a un type différent dans « fichier1 » et « fichier2 » : « type1 » et « type2 »
Avertissement du compilateur C4745 impossible d'honorer l'accès volatile du « nom » en raison de sa taille
Avertissement du compilateur C4746 l'accès volatile de « expression » dépend du paramètre /volatile:<iso|ms> ; envisagez d'utiliser les fonctions intrinsèques __iso_volatile_load/store
Avertissement du compilateur (niveau 1) C4747 Appel de « point d’entrée » managé : impossible d'exécuter du code managé lors du verrouillage du chargeur, y compris le point d'entrée DLL et les appels accessibles à partir du point d'entrée DLL
Avertissement du compilateur (niveau 4) C4749 prise en charge conditionnelle : offesetof appliqué au type de disposition non standard « type »
Avertissement du compilateur (niveau 1) C4750 'identifier' : fonction with _alloca() inline dans une boucle
Avertissement du compilateur (niveau 4) C4751 /arch AVX ne s'applique pas aux extensions SIMD Streaming Intel(R) présentes dans inline ASM
Avertissement du compilateur (niveau 4) C4752 Intel(R) Advanced Vector Extensions trouvé ; envisagez d’utiliser /arch AVX
Avertissement du compilateur C4753 Impossible de détecter les limites pour le pointeur ; la fonction intrinsèque MPX sera ignorée
Avertissement du compilateur (niveau 4) C4754 Les règles de conversion pour les opérations arithmétiques dans la comparaison %s(%d) signifie qu’une branche ne peut pas être exécutée. Convertissez «%s» en «%s» (ou type similaire de %d octets).
Avertissement du compilateur C4755 Les règles de conversion pour les opérations arithmétiques dans la comparaison %s(%d) signifient qu'une branche ne peut pas être exécutée dans une fonction inlined. Convertissez «%s» en «%s» (ou type similaire de %d octets).
Avertissement du compilateur (niveau 2) C4756 dépassement d'une opération arithmétique de constante
Avertissement du compilateur (niveau 4) C4757 valeur d'indice non signée et élevée, souhaitiez-vous une constante négative ?
Avertissement du compilateur C4761 incompatibilité de taille intégrale dans l’argument ; conversion fournie
Avertissement du compilateur (niveau 4) C4764 Impossible d'aligner les objets de bloc catch sur plus de 16 octets
Avertissement du compilateur (niveau 4) C4767 le nom de section « %s » contient plus que 8 caractères et sera tronqué par l'éditeur de liens
Avertissement du compilateur (niveau 3) C4768 les attributs __declspec avant la spécification de liaison sont ignorés
Avertissement du compilateur (niveau 4) C4770 enum partiellement validée « nom » utilisé comme index
Avertissement du compilateur C4771 Les limites doivent être créées en utilisant un simple pointeur ; la fonction intrinsèque MPX sera ignorée
Avertissement du compilateur (niveau 1, erreur) C4772 #import a référencé un type provenant d'une bibliothèque de types manquants ; « type_manquant » utilisé comme espace réservé
Avertissement du compilateur (niveau 4) C4774 « chaîne » : la chaîne de format attendue dans l'argument nombre n'est pas un littéral de chaîne
Avertissement du compilateur (niveau 3) C4775 extension non standard utilisée dans la chaîne de format « chaîne »de la fonction « fonction »
Avertissement du compilateur (niveau 1) C4776 « % caractère » n'est pas autorisé dans la chaîne de format de la fonction « fonction »
Avertissement du compilateur (niveau 4) C4777 « function » : la chaîne de format « chaîne » requiert un argument de type « type1 », mais l’argument variadique nombre présente le type « type2 »
Avertissement du compilateur (niveau 3) C4778 « fonction » : chaîne de format indéterminée « chaîne »
Avertissement du compilateur (niveau 1) C4788 « identificateur » : l'identificateur a été tronqué à « nombre » caractères
Avertissement du compilateur (niveau 1) C4789 la mémoire tampon 'identificateur' d'une taille de N octets sera dépassée ; M octets seront écrits en commençant à l'offset L
Avertissement du compilateur (niveau 2) C4792 fonction « %s » déclarée à l'aide de sysimport et référencée à partir du code natif ; bibliothèque d'importation requise pour établir la liaison
Avertissement du compilateur (niveaux 1 et 3) C4793 « fonction » : fonction compilée en tant que code natif : « raison »
Avertissement du compilateur (niveau 1) C4794 segment de variable de stockage local de thread « %s » changé de « %s » en « %s »
Avertissement du compilateur C4798 code natif généré pour la fonction p-code « nom » avec gestionnaire d'exceptions ou déroulement de la sémantique
Avertissement du compilateur (niveau 1) C4799 la fonction « fonction » n’a pas d’instruction EMMS

Voir aussi

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