Partager via


Erreurs du compilateur C3200 à C3299

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 C3200 'type' : argument de modèle non valide pour le paramètre de modèle 'parameter', modèle de classe attendu
Erreur du compilateur C3201 la liste des paramètres de modèle pour le modèle de classe 'template' ne correspond pas à celle du paramètre de modèle 'parameter'
Erreur du compilateur C3202 'identifier' : argument par défaut non valide, modèle de classe attendu
Erreur du compilateur C3203 'identifier' : un paramètre générique/de modèle de classe non spécialisé ne peut pas être utilisé comme argument de modèle/générique pour le paramètre de modèle/générique 'parameter', type réel attendu
Erreur du compilateur C3204 'function' ne peut pas être appelé à partir d'un bloc catch
Erreur du compilateur C3205 la liste des arguments pour le paramètre de modèle template 'identifier' est manquante
Erreur du compilateur C3206 'function' : argument de modèle/générique non valide pour 'template', liste d'arguments de modèle/génériques manquante sur le paramètre de modèle/générique de classe 'type'
Erreur du compilateur C3207 'function' : argument de modèle non valide pour 'parameter', modèle de classe attendu
Erreur du compilateur C3208 'function' : la liste de paramètres de modèle pour le modèle de classe 'template' ne correspond pas à la liste de paramètres de modèle pour le paramètre de modèle template 'parameter'
Erreur du compilateur C3209 'type' : la classe générique doit être une classe managée/WinRT
Erreur du compilateur C3210 'identifier' : une déclaration d'accès peut uniquement être appliquée à un membre de classe de base
Erreur du compilateur C3211 'function' : une spécialisation explicite utilise une syntaxe de spécialisation partielle, utilisez template <> à la place
Erreur du compilateur C3212 'function' : une spécialisation explicite d’un membre de modèle doit être membre d’une spécialisation explicite
Erreur du compilateur C3213 La classe de base 'class' est moins accessible que 'derived_class'
Erreur du compilateur C3214 'argument' : argument de type non valide pour le paramètre générique 'parameter' du 'type' générique, ne satisfait pas la contrainte 'constraint'
Erreur du compilateur C3215 'constraint1' : paramètre de type générique déjà contraint par 'constraint2'
Erreur du compilateur C3216 la contrainte doit être un paramètre générique et non 'type'
Erreur du compilateur C3217 'parameter' : le paramètre générique ne peut pas être contraint dans cette déclaration
Erreur du compilateur C3218 'type' : type non autorisé comme contrainte
Erreur du compilateur C3219 'parameter' : un paramètre générique ne peut pas être contraint par plusieurs non-interfaces : 'type'
Erreur du compilateur C3220 'interface' : une interface ne peut pas avoir progid
Erreur du compilateur C3221 'member' : plusieurs attributs 'default' et 'case' ne sont pas autorisés sur un membre
Erreur du compilateur C3222 'function' : impossible de déclarer des arguments par défaut pour des fonctions membres d'un type managé/WinRT ou des fonctions génériques
Erreur du compilateur C3223 'property' : vous ne pouvez pas appliquer 'typeid' à une propriété
Erreur du compilateur C3224 'type' : aucune classe générique surchargée ne prend 'number' arguments de type générique
Erreur du compilateur C3225 l'argument de type générique pour 'argument' ne peut pas être 'type', il doit s'agir d'un type valeur ou d'un handle d'un type référence
Erreur du compilateur C3226 Une déclaration de modèle n'est pas autorisée dans une déclaration générique
Erreur du compilateur C3227 'type' : impossible d'utiliser 'operator' pour allouer un type générique
Erreur du compilateur C3228 'function' : l’argument de type générique pour 'argument' ne peut pas être 'type', il doit s’agir d’un type valeur ou d’un type de handle
Erreur du compilateur C3229 'type' : les indirections sur un paramètre de type générique ne sont pas autorisées
Erreur du compilateur C3230 'function' : l’argument de type de modèle pour 'argument' ne peut pas contenir de paramètre de type générique : 'type'
Erreur du compilateur C3231 'type' : l'argument de type de modèle ne peut pas utiliser de paramètre de type générique
Erreur du compilateur C3232 'parameter' : impossible d’utiliser un paramètre de type générique dans un nom qualifié
Erreur du compilateur C3233 'type' : paramètre de type générique déjà contraint
Erreur du compilateur C3234 une classe générique ne peut pas dériver d'un paramètre de type générique
Erreur du compilateur C3235 'specialization' : la spécialisation explicite ou partielle d’une classe générique n’est pas autorisée
Erreur du compilateur C3236 l'instanciation explicite d'un générique n'est pas autorisée
Erreur du compilateur C3237 'class' : une classe générique ne peut pas être un attribut personnalisé
Erreur du compilateur C3238 'type' : un type de ce nom a déjà été transféré à l’assembly 'assembly'
Erreur du compilateur C3239 'type' : un pointeur vers un pointeur intérieur/épinglé est interdit par le common language runtime
Erreur du compilateur C3240 'identifier' : doit être une fonction membre abstraite non surchargée de 'type'
Erreur du compilateur C3241 'member' : cette méthode n'a pas été introduite par 'interface'
Erreur du compilateur C3242 'function' : vous pouvez uniquement remplacer explicitement des fonctions virtuelles
Erreur du compilateur C3243 aucune des fonctions de surcharge n’a été introduite par 'interface'
Erreur du compilateur C3244 'member' : cette méthode a été introduite par 'interface1' et non par 'interface2'
Erreur du compilateur C3245 'function' : l'utilisation d'un modèle de variable nécessite une liste d'arguments de modèle
Erreur du compilateur C3246 'class' : ne peut pas hériter de 'base_class', car il a été déclaré comme 'inheritance'
Erreur du compilateur C3247 'coclass' : une coclasse ne peut pas hériter d’une autre coclasse 'base_class'
Erreur du compilateur C3248 Obsolète. 'function' : une fonction déclarée comme 'sealed' ne peut pas être remplacée par 'function'
Erreur du compilateur C3249 instruction ou sous-expression non valide pour la fonction 'constexpr' (Obsolète dans Visual Studio 2022.)
Erreur du compilateur C3250 'declaration' : la déclaration n’est pas autorisée dans le corps de fonction 'constexpr' (Obsolète dans Visual Studio 2022.)
Erreur du compilateur C3251 impossible d'appeler une méthode de classe de base sur une instance de type valeur (Obsolète dans Visual Studio 2022.)
Erreur du compilateur C3252 'function' : impossible de réduire l'accessibilité d'une méthode virtuelle dans un type managé/WinRT
Erreur du compilateur C3253 'function' : erreur avec un remplacement explicite
Erreur du compilateur C3254 'function' : la classe contient un remplacement explicite 'function', mais ne dérive pas d'une interface qui contient la déclaration de fonction
Erreur du compilateur C3255 'type' : impossible d'allouer dynamiquement cet objet de type valeur sur un tas natif
Erreur du compilateur C3256 'function' : l’utilisation de variables ne produit pas d’expression constante (Obsolète dans Visual Studio 2022.)
Erreur du compilateur C3257 Obsolète.
Erreur du compilateur C3258 Obsolète.
Erreur du compilateur C3259 Les fonctions 'constexpr' peuvent avoir seulement une instruction return (Obsolète dans Visual Studio 2022.)
Erreur du compilateur C3260 'token' : le ou les jetons inattendus sont ignorés avant le corps d'expression lambda
Erreur du compilateur C3261 une fonction qui renvoie un tableau managé/WinRT doit avoir des crochets de tableau à la fin de la déclaration : 'identifier(...) []'
Erreur du compilateur C3262 indexation de tableau non valide : 'number' dimension(s) spécifiée(s) pour le 'type' à number dimensions
Erreur du compilateur C3263 Obsolète.
Erreur du compilateur C3264 'identifier' : un constructeur de classe ne peut pas avoir de type de retour
Erreur du compilateur C3265 impossible de déclarer un managed_constructmanagé dans un 'unmanaged_construct' non managé
Erreur du compilateur C3266 'function' : un constructeur de classe doit avoir une liste de paramètres 'void'
Erreur du compilateur C3267 Obsolète.
Erreur du compilateur C3268 'function' : une fonction générique ou une fonction membre d’une classe générique ne peut pas avoir de liste de paramètres de variable
Erreur du compilateur C3269 'function' : une fonction membre d'un type managé/WinRT ne peut pas être déclarée avec '...'
Erreur du compilateur C3270 'field' : l'attribut FieldOffset peut uniquement être utilisé dans le contexte de StructLayout(LayoutKind::Explicit)
Erreur du compilateur C3271 'field' : valeur non valide 'number' pour l'attribut FieldOffset
Erreur du compilateur C3272 'symbol' : un symbole nécessite FieldOffset, car c'est un membre d'un struct ou d'une classe type_name défini avec StructLayout(LayoutKind::Explicit)
Erreur du compilateur C3273 'keyword' : non autorisé sur un bloc try C++
Erreur du compilateur C3274 finally / __finally sans try correspondant
Erreur du compilateur C3275 'identifier' : impossible d'utiliser ce symbole sans qualificateur (Obsolète dans Visual Studio 2022.)
Erreur du compilateur C3276 'keyword' : le saut hors du bloc finally/__finally a un comportement indéfini pendant la gestion de la terminaison
Erreur du compilateur C3277 impossible de définir un enum non managé 'enumeration' au sein d'un 'type' managé
Erreur du compilateur C3278 l'appel direct de la méthode d'interface ou de la méthode pure 'function' échoue au moment de l'exécution
Erreur du compilateur C3279 les spécialisations partielles et explicites ainsi que les instanciations explicites des modèles de classe déclarés dans l'espace de noms cli sont interdites
Erreur du compilateur C3280 'function' : une fonction membre d’un type managé ne peut pas être compilée comme une fonction non managée
Erreur du compilateur C3281 'function' : un opérateur global ne peut pas avoir de type managé/WinRT 'type' dans sa signature
Erreur du compilateur C3282 les listes de paramètres génériques peuvent apparaître seulement sur les classes, structs ou fonctions managés/WinRT
Erreur du compilateur C3283 'interface' : une interface ne peut pas avoir de constructeur d’instance
Erreur du compilateur C3284 les contraintes du paramètre générique 'parameter' de la fonction 'declarator' doivent correspondre aux contraintes du paramètre générique 'parameter' de la fonction 'declarator'
Erreur du compilateur C3285 une instruction for each ne peut pas fonctionner sur des variables de type 'type'
Erreur du compilateur C3286 'specifier' : une variable d’itération ne peut pas avoir de spécificateurs de classe de stockage
Erreur du compilateur C3287 le type 'type' (type de retour de GetEnumerator) doit avoir une fonction membre MoveNext publique appropriée et une propriété Current publique
Erreur du compilateur C3288 'type' : déréférencement non valide d'un type de handle
Erreur du compilateur C3289 'identifier' : une propriété triviale ne peut pas être indexée
Erreur du compilateur C3290 'type' : une propriété triviale ne peut pas avoir de type référence
Erreur du compilateur C3291 'default' : ne peut pas être le nom d'une propriété triviale
Erreur du compilateur C3292 impossible de rouvrir l'espace de noms cli
Erreur du compilateur C3293 'identifier' : utilisez 'default' pour accéder à la propriété par défaut (indexeur) de la classe 'class'
Erreur du compilateur C3294 Obsolète.
Erreur du compilateur C3295 '#pragma specifier' peut seulement être utilisé sur l'étendue globale ou de l'espace de noms
Erreur du compilateur C3296 'identifier' : une propriété de ce nom existe déjà
Erreur du compilateur C3297 'constraint2' : impossible d’utiliser 'constraint1' comme contrainte, car 'constraint1' a la contrainte de valeur
Erreur du compilateur C3298 'constraint1' : impossible d’utiliser 'constraint2' comme contrainte, car 'constraint2' a la contrainte ref et 'constraint1' a la contrainte de valeur
Erreur du compilateur C3299 'function' : impossible de spécifier les contraintes, elles sont héritées de la méthode de base

Voir aussi

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