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