Partager via


Erreurs du compilateur C3100 à C3199

Les articles de cette section de la documentation décrivent un sous-ensemble de messages d’erreur générés par le compilateur.

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’erreur

Erreur Message
Erreur du compilateur C3100 'identifier' : qualificateur d’attribut inconnu
Erreur du compilateur C3101 expression non conforme pour l'argument d'attribut nommé 'identifier'
Erreur du compilateur C3102 Obsolète.
Erreur du compilateur C3103 'identifier' : argument nommé répété
Erreur du compilateur C3104 argument non conforme pour l’attribut
Erreur du compilateur C3105 'symbol' : ne peut pas être utilisé comme un attribut
Erreur du compilateur C3106 'attribute' : les arguments sans nom doivent précéder les arguments nommés
Erreur du compilateur C3107 'attribute' : impossible de définir les fonctions membres des attributs natifs
Erreur du compilateur C3108 impossible de déduire un type, car une liste d’initialiseurs n’est pas une expression
Erreur du compilateur C3109 'identifier' : les méthodes d’interface doivent utiliser la convention d’appel '__stdcall' ou '__cdecl'
Erreur du compilateur C3110 'function' : impossible de surcharger une méthode d’interface COM
Erreur du compilateur C3111 Une liste d’initialiseurs ne peut pas être utilisée en tant qu’argument par défaut pour un paramètre de modèle
Erreur du compilateur C3112 'interface' : une interface ne peut être déclarée qu’au niveau de la portée globale ou de la portée espace de noms
Erreur du compilateur C3113 un 'interface/enum' ne peut pas être un modèle/générique
Erreur du compilateur C3114 'identifier' : argument d’attribut nommé non valide
Erreur du compilateur C3115 'attribute' : cet attribut n’est pas autorisé sur 'construct'
Erreur du compilateur C3116 'specifier' : classe de stockage non valide pour la méthode d’interface
Erreur du compilateur C3117 'interface' : une interface ne peut avoir qu’une seule classe de base
Erreur du compilateur C3118 'interface' : les interfaces ne prennent pas en charge l’héritage virtuel
Erreur du compilateur C3119 alignas(void) n’est pas autorisé
Erreur du compilateur C3120 'identifier' : les méthodes d’interface ne peuvent pas gérer une liste d’arguments de variables
Erreur du compilateur C3121 impossible de changer GUID pour la classe 'class'
Erreur du compilateur C3122 'interface' : une interface générique WinRT ne peut pas avoir de GUID
Erreur du compilateur C3123 une interface générique WinRT ne peut pas avoir de contraintes
Erreur du compilateur C3124 'signed char' n’est pas un type de données WinRT valide. Utilisez 'unsigned char', 'wchar_t' ou 'signed short' à la place.
Erreur du compilateur C3125 'type' : le type ne peut pas dériver directement ni indirectement de 'Platform::Exception'
Erreur du compilateur C3126 impossible de définir une union 'union' à l’intérieur du type managé/WinRT 'type'
Erreur du compilateur C3127 'type' : le trait 'trait' ne peut être utilisé que sur une classe ref WinRT
Erreur du compilateur C3128 'type' n’a pas de vtable introduit par 'type'
Erreur du compilateur C3129 'type' : __default_vptr_for_base ne peut être utilisé que sur des bases et des types polymorphes définis en local
Erreur du compilateur C3130 Erreur interne du compilateur : échec de l’écriture du bloc de code injecté dans PDB
Erreur du compilateur C3131 le projet doit avoir un attribut 'module' avec une propriété 'name'
Erreur du compilateur C3132 'parameter' : les tableaux de paramètres ne peuvent être appliqués qu'à un argument formel de type 'single-dimensional managed/WinRT array'
Erreur du compilateur C3133 Les attributs ne peuvent pas être appliqués aux varargs C++
Erreur du compilateur C3134 'value' : la valeur de l’argument d’attribut 'argument' n’a pas de type valide 'type'
Erreur du compilateur C3135 'identifier' : une propriété ne peut avoir de type 'const' ou 'volatile'
Erreur du compilateur C3136 'interface' : une interface COM ne peut hériter que d’une autre interface COM, 'interface' n’est pas une interface COM
Erreur du compilateur C3137 'identifier' : impossible d'initialiser une propriété
Erreur du compilateur C3138 'identifier' : une interface 'attribute' doit hériter de IDispatch ou d’une interface qui hérite de IDispatch
Erreur du compilateur C3139 'type' : impossible d’exporter un UDT sans membres
Erreur du compilateur C3140 impossible d’avoir plusieurs attributs 'module' dans la même unité de compilation
Erreur du compilateur C3141 'interface' : les interfaces ne prennent en charge que l’héritage public
Erreur du compilateur C3142 'property' : vous ne pouvez pas prendre l’adresse d’une propriété
Erreur du compilateur C3143 'argument' : l’argument d’un attribut ne peut pas avoir plusieurs valeurs
Erreur du compilateur C3144 'attribute' : l’attribut requiert des arguments explicites, 'argument' est sans nom
Erreur du compilateur C3145 'identifier' : une variable globale ou statique ne peut pas avoir de type managé ou WinRT 'type'
Erreur du compilateur C3146 Obsolète.
Erreur du compilateur C3147 Obsolète.
Erreur du compilateur C3148 Obsolète.
Erreur du compilateur C3149 'type' : impossible d’utiliser ce type ici sans 'token' de niveau supérieur
Erreur du compilateur C3150 'construct' : 'attribute' ne peut s’appliquer qu’à une classe, un struct, une interface, un tableau ou un pointeur
Erreur du compilateur C3151 Obsolète.
Erreur du compilateur C3152 'function' : 'keyword' ne peut s’appliquer qu’à une classe, une structure ou une fonction membre virtuelle
Erreur du compilateur C3153 'interface' : vous ne pouvez pas créer l’instance d’une interface
Erreur du compilateur C3154 Signe ',' attendu avant les points de suspension. Les fonctions de tableau de paramètres ne prennent pas en charge les points de suspension non séparés par une virgule.
Erreur du compilateur C3155 les attributs ne sont pas autorisés dans un indexeur de propriété
Erreur du compilateur C3156 'class' : vous ne pouvez pas avoir de définition locale d’un type managé/WinRT
Erreur du compilateur C3157 L’attribut ParamArray ne peut être appliqué qu’au dernier paramètre
Erreur du compilateur C3158 'function' : 'keyword' ne peut s’appliquer qu’à une fonction membre virtuelle
Erreur du compilateur C3159 'identifier' : impossible de déclarer un tableau de pointeurs vers le type valeur
Erreur du compilateur C3160 'type' : les données membres d’une classe managée/WinRT ne peuvent pas avoir ce type
Erreur du compilateur C3161 'interface' : l’imbrication d’une classe, d’une structure ou d’une interface dans une interface n’est pas conforme ; l’imbrication d’une interface dans une classe ou une structure n’est pas conforme
Erreur du compilateur C3162 'type' : un type référence qui a un destructeur ne peut pas être utilisé comme type de données membres static 'member'
Erreur du compilateur C3163 'class' : attributs non cohérents avec la déclaration qui précède
Erreur du compilateur C3164 Obsolète.
Erreur du compilateur C3165 'value' : impossible de convertir en valeur intégrale ni en valeur à virgule flottante
Erreur du compilateur C3166 Obsolète. 'type' : un membre de données d’une classe managée/WinRT ne peut pas avoir de type 'pointer_type to interior managed_pointer_type'
Erreur du compilateur C3167 Impossible d’initialiser le .NET Framework : vérifiez qu’il est bien installé
Erreur du compilateur C3168 'type' : type sous-jacent non conforme pour enum
Erreur du compilateur C3169 'type' : impossible de déduire le type de 'auto' à partir de 'type'
Erreur du compilateur C3170 impossible d’avoir des identificateurs de module différents dans un projet
Erreur du compilateur C3171 'module' : impossible de spécifier des attributs de module différents dans un projet
Erreur du compilateur C3172 'identifier' : impossible de spécifier des attributs idl_module différents dans un projet
Erreur du compilateur C3173 incompatibilité de version dans la fusion idl
Erreur du compilateur C3174 attribut module non spécifié
Erreur du compilateur C3175 'function' : impossible d’appeler une méthode de type managé à partir d’une fonction non managée 'function'
Erreur du compilateur C3176 'type' : impossible de déclarer un type valeur local
Erreur du compilateur C3177 vous ne pouvez pas avoir de fonction de conversion en un type qui contient 'type' (obsolète dans Visual Studio 2022.)
Erreur du compilateur C3178 'type' : impossible d’utiliser ParamArray dans une fonction avec des arguments par défaut (obsolète dans Visual Studio 2022.)
Erreur du compilateur C3179 un type managé/WinRT sans nom interdit
Erreur du compilateur C3180 'type' : le nom de type dépasse la limite métadonnées de 'number' caractères
Erreur du compilateur C3181 'type' : opérande non valide pour operator
Erreur du compilateur C3182 'type' : une déclaration using de membre ou une déclaration d’accès est non conforme au sein d’un type managé/WinRT
Erreur du compilateur C3183 impossible de définir une classe, un struct ou une union sans nom à l’intérieur du type managé/WinRT 'class'
Erreur du compilateur C3184 Obsolète.
Erreur du compilateur C3185 'typeid' : utilisé avec le type managé/WinRT 'type', utilisez 'operator' à la place
Erreur du compilateur C3186 Obsolète.
Erreur du compilateur C3187 'identifier' : est uniquement disponible dans le corps d’une fonction
Erreur du compilateur C3188 Obsolète.
Erreur du compilateur C3189 'typeid<declarator>' : cette syntaxe n’est plus prise en charge, utilisez ::typeid à la place (obsolète dans Visual Studio 2022.)
Erreur du compilateur C3190 'declarator' avec les arguments template fournis n’est pas l’instanciation explicite d’une fonction membre de 'type'
Erreur du compilateur C3191 Obsolète.
Erreur du compilateur C3192 erreur de syntaxe : '^' n'est pas un opérateur préfixé (voulez-vous utiliser '*' ?)
Erreur du compilateur C3193 'construct' : requiert l’option de ligne de commande '/clr' ou '/ZW'
Erreur du compilateur C3194 'type' : un type valeur ne peut pas avoir d’opérateur d’assignation
Erreur du compilateur C3195 'keyword' : est réservé et ne peut pas être utilisé comme membre d’une classe ref ou d’un type valeur. Les opérateurs CLR/WinRT doivent être définis à l’aide du mot clé 'operator'
Erreur du compilateur C3196 'identifier' : utilisé plusieurs fois
Erreur du compilateur C3197 'keyword' : ne peut être utilisé que dans les définitions
Erreur du compilateur C3198 utilisation non valide des pragmas à virgule flottante : le pragma fenv_access ne fonctionne qu’en mode précision
Erreur du compilateur C3199 utilisation non valide des pragmas à virgule flottante : les exceptions ne sont pas prises en charge en mode sans précision

Voir aussi

Erreurs et avertissements du compilateur C/C++ et des outils de génération
Erreurs du compilateur C2000 - C3999, C7000 - C7999