Partager via


Erreurs du compilateur C2900 à C2999

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 C2900 'déclarateur' : les modèles de fonctions membres dans les classes WinRT doivent être 'private', 'internal' ou 'protected private'
Erreur du compilateur C2901 'identificateur' : une interface ou un délégué générique ne peut pas être public
Erreur du compilateur C2902 'jeton' : jeton inattendu après 'template/generic', identificateur attendu (obsolète dans Visual Studio 2022)
Erreur du compilateur C2903 'identificateur' : le symbole n’est ni un modèle/générique de classe, ni un modèle/générique de fonction
Erreur du compilateur C2904 'identificateur' : nom déjà utilisé pour un modèle dans la portée actuelle
Erreur du compilateur C2905 Obsolète.
Erreur du compilateur C2906 'template' : une spécialisation explicite requiert 'template <>'
Erreur du compilateur C2907 l’argument de registre 'nombre' ne spécifie pas de numéro de registre valide
Erreur du compilateur C2908 spécialisation explicite ; 'modèle' a déjà été instancié
Erreur du compilateur C2909 'identificateur' : l’instanciation explicite d’un modèle de fonction exige un type de retour
Erreur du compilateur C2910 'fonction' : ne peut pas être explicitement spécialisé
Erreur du compilateur C2911 'membre' : ne peut pas être déclaré ou défini dans la portée actuelle
Erreur du compilateur C2912 spécialisation explicite ; 'déclaration' n’est pas une spécialisation d’un modèle de fonction
Erreur du compilateur C2913 spécialisation explicite ; 'déclaration' n’est pas une spécialisation d’un modèle de classe
Erreur du compilateur C2914 'identificateur' : impossible de déduire un argument de modèle/générique, car l'argument de fonction est ambigu
Erreur du compilateur C2915 identificateur' : 'type' ne peut pas être utilisé directement sur la surface publiée d’un type WinRT. Utilisez plutôt 'Platform::Object^' pour passer ce type
Erreur du compilateur C2916 'identificateur' : [FlagsAttribute] doit (uniquement) être spécifié sur un enum public avec un type sous-jacent 'unsigned int'
Erreur du compilateur C2917 'identificateur' : template-parameter non valide (obsolète dans Visual Studio 2022.)
Erreur du compilateur C2918 'identificateur' : les propriétés indexées ne peuvent pas être utilisées sur la surface publiée d'un type WinRT
Erreur du compilateur C2919 'type' : les opérateurs ne peuvent pas être utilisés sur la surface publiée d'un type WinRT
Erreur du compilateur C2920 redéfinition : 'type' : le modèle/générique de classe a déjà été déclaré comme 'déclaration'
Erreur du compilateur C2921 redéfinition : 'type' : le modèle/générique de classe est actuellement redéclaré comme 'déclaration'
Erreur du compilateur C2922 'interface' : une interface WinRT ne peut pas contenir de membres statiques
Erreur du compilateur C2923 'type' : 'identificateur' n’est pas un argument de type modèle/générique valide pour le paramètre 'parameter'
Erreur du compilateur C2924 argument de routine __declspec(interrupt) absent dans R2
Erreur du compilateur C2925 la routine __declspec(interrupt) ne peut pas utiliser de virgule flottante
Erreur du compilateur C2926 'identificateur' : un initialiseur de membre par défaut n’est pas autorisé pour un membre d’une struct anonyme au sein d’une union
Erreur du compilateur C2927 'identificateur' : un modèle de fonction doit être appelé avec au moins un argument
Erreur du compilateur C2928 instanciation explicite ; 'identificateur' n’est pas une fonction ni un membre de données statique de 'classe' de classe de modèle
Erreur du compilateur C2929 'déclarateur' : instanciation explicite ; impossible d’imposer ou de supprimer explicitement l’instanciation d’un membre de classe de modèle
Erreur du compilateur C2930 'classe' : template-id/generic-id redéfini comme énumérateur de 'enum identificateur'
Erreur du compilateur C2931 'classe1' : template-id/generic-id redéfini comme fonction membre de 'classe2' (obsolète dans Visual Studio 2022.)
Erreur du compilateur C2932 'type' : template-id/generic-id redéfini comme membre de données de 'identificateur' (obsolète dans Visual Studio 2022.)
Erreur du compilateur C2933 'type' : template-id/generic-id redéfini comme membre typedef de 'identificateur' (obsolète dans Visual Studio 2022.)
Erreur du compilateur C2934 'type' : template-id/generic-id redéfini comme 'élément' imbriqué de 'identificateur' (obsolète dans Visual Studio 2022.)
Erreur du compilateur C2935 'type' : template-id/generic-id redéfini comme fonction globale (obsolète dans Visual Studio 2022.)
Erreur du compilateur C2936 'type' : template-id/generic-id redéfini comme variable de données globale (obsolète dans Visual Studio 2022.)
Erreur du compilateur C2937 'type' : template-id/generic-id redéfini comme typedef global (obsolète dans Visual Studio 2022.)
Erreur du compilateur C2938 'identificateur' : échec de spécialisation du modèle d’alias
Erreur du compilateur C2939 'type' : template-id/generic-id redéfini comme variable de données locale (obsolète dans Visual Studio 2022.)
Erreur du compilateur C2940 'type' : template-id/generic-id redéfini comme typedef local (obsolète dans Visual Studio 2022.)
Erreur du compilateur C2941 'type' : template-id/generic-id redéfini comme 'élément' local (obsolète dans Visual Studio 2022.)
Erreur du compilateur C2942 'type' : template-id/generic-id redéfini comme argument formel d’une fonction (obsolète dans Visual Studio 2022.)
Erreur du compilateur C2943 'type' : template-id/generic-id redéfini comme argument de type d’un modèle (obsolète dans Visual Studio 2022.)
Erreur du compilateur C2944 'type' : template-id/generic-id redéfini comme argument de valeur d’un modèle (obsolète dans Visual Studio 2022.)
Erreur du compilateur C2945 l'instanciation explicite ne fait pas référence à une spécialisation de classe de modèle
Erreur du compilateur C2946 instanciation explicite ; 'type' n'est pas une spécialisation de classe de modèle
Erreur du compilateur C2947 '>' attendu pour arrêter les arguments de modèle, 'jeton' trouvé
Erreur du compilateur C2948 instanciation explicite ; spécificateur de classe de stockage 'spécificateur' non autorisé sur une spécialisation
Erreur du compilateur C2949 thread_local n’est pas pris en charge avec /kernel
Erreur du compilateur C2950 Obsolète.
Erreur du compilateur C2951 les déclarations de modèle/générique ne sont autorisées qu’au niveau de la portée globale, de la portée d’espace de noms ou de la portée de classe
Erreur du compilateur C2952 'déclaration' : la liste de paramètres de modèle/générique est absente de la déclaration de modèle/générique
Erreur du compilateur C2953 'type' : modèle de classe déjà défini
Erreur du compilateur C2954 argument word de l’instruction hors limites
Erreur du compilateur C2955 'type' : l’utilisation de modèle/générique de classe requiert une liste d’arguments de modèle/générique
Erreur du compilateur C2956 la fonction de désallocation habituelle 'fonction' est choisie en tant que fonction de désallocation de position
Erreur du compilateur C2957 'jeton' : délimiteur gauche non valide : '<' attendu
Erreur du compilateur C2958 le délimiteur gauche sur 'fichier(numéro_ligne)' n’a pas été équilibré correctement
Erreur du compilateur C2959 une classe ou fonction générique ne peut pas être membre d’un modèle
Erreur du compilateur C2960 Obsolète.
Erreur du compilateur C2961 'fonction' : instanciations explicites incohérentes, une instanciation explicite précédente ne spécifiait pas 'argument'
Erreur du compilateur C2962 erreur de syntaxe : 'jeton' : la définition d’une fonction membre de classe de modèle doit se terminer par '}'
Erreur du compilateur C2963 Obsolète.
Erreur du compilateur C2964 Obsolète.
Erreur du compilateur C2965 __declspec(spécificateur) n’est pas pris en charge avec /kernel
Erreur du compilateur C2966 'identificateur1' : doit avoir le même __declspec(code_seg(...)) que sa classe de base 'identificateur2' (obsolète dans Visual Studio 2022.)
Erreur du compilateur C2967 'identificateur' : la fonction virtuelle de substitution doit avoir le même __declspec(code_seg(...)) qu’une fonction virtuelle substituée (obsolète dans Visual Studio 2022.)
Erreur du compilateur C2968 'identificateur' : déclaration d’alias récurrente
Erreur du compilateur C2969 erreur de syntaxe : 'jeton' : la définition d’une fonction membre doit se terminer par '}'
Erreur du compilateur C2970 'type' : paramètre de modèle 'paramètre' : 'argument' : une expression utilisant des objets avec une liaison interne ne peut pas être utilisée comme argument sans type
Erreur du compilateur C2971 'type' : paramètre de modèle 'paramètre' : 'argument' : une variable avec une durée de stockage non statique ne peut pas être utilisée comme argument sans type
Erreur du compilateur C2972 'type' : paramètre de modèle 'paramètre' : le type d’un argument sans type n’est pas valide
Erreur du compilateur C2973 'modèle' : argument de modèle non valide 'numéro'
Erreur du compilateur C2974 'type' : argument de modèle/générique non valide pour 'paramètre', type attendu
Erreur du compilateur C2975 'type' : paramètre d’argument non valide pour 'paramètre', expression constante évaluée au moment de la compilation attendue
Erreur du compilateur C2976 'type' : nombre d’arguments de modèle/générique insuffisant
Erreur du compilateur C2977 'type' : nombre d’arguments de modèle/générique trop élevé
Erreur du compilateur C2978 erreur de syntaxe : 'mot_clé1' ou 'mot_clé2' attendu ; type 'type' trouvé ; les paramètres sans type ne sont pas pris en charge dans les génériques
Erreur du compilateur C2979 les spécialisations explicites ne sont pas prises en charge dans les génériques
Erreur du compilateur C2980 la gestion des exceptions C++ n’est pas prise en charge avec /kernel
Erreur du compilateur C2981 la forme dynamique de 'mot_clé' n’est pas prise en charge avec /kernel
Erreur du compilateur C2982 'déclaration' : __declspec(code_seg(...)) différent utilisé : était 'identificateur1', est maintenant 'identificateur2'
Erreur du compilateur C2983 'déclaration' : toutes les déclarations doivent avoir un __declspec(code_seg(...)) identique
Erreur du compilateur C2984 Obsolète.
Erreur du compilateur C2985 'argument' : l’argument pour __declspec(code_seg(...)) doit être une section texte
Erreur du compilateur C2986 'identificateur' : __declspec(code_seg(...)) peut s’appliquer uniquement à une classe ou une fonction
Erreur du compilateur C2987 une déclaration ne peut pas comporter simultanément __declspec(code_seg('identificateur')) et __declspec(code_seg('valeur'))
Erreur du compilateur C2988 impossible de reconnaître la définition/déclaration de modèle
Erreur du compilateur C2989 'classe' : le modèle/générique de classe a déjà été déclaré comme modèle/générique sans classe
Erreur du compilateur C2990 'classe' : le modèle/générique sans classe a déjà été déclaré comme modèle/générique de classe
Erreur du compilateur C2991 redéfinition du paramètre de modèle/générique 'paramètre'
Erreur du compilateur C2992 'classe' : liste de paramètres de modèle/générique absente ou non valide
Erreur du compilateur C2993 'type' : type non conforme pour le paramètre de modèle sans type 'identificateur'
Erreur du compilateur C2994 classe sans nom dans une liste de paramètres de modèle
Erreur du compilateur C2995 'déclaration' : modèle de fonction déjà défini
Erreur du compilateur C2996 'fonction' : définition de modèle de fonction récurrente
Erreur du compilateur C2997 'fonction' : impossible de déduire une limite de tableau d’un initialiseur de membre par défaut
Erreur du compilateur C2998 'déclarateur' : ne peut pas être une définition de modèle

Voir aussi

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