Erreurs du compilateur C3000 à C3099

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 C3000 « symbole » : l’utilisation d’un modèle de classe nécessite une liste d’arguments du modèle. La déduction d’argument n’est pas autorisée dans un membre de données non statique.
Erreur du compilateur C3001 « message » : un nom de directive OpenMP est attendu
Erreur du compilateur C3002 « nom1 nom2 » : plusieurs noms de directive OpenMP
Erreur du compilateur C3003 « directive » : nom de directive OpenMP non autorisé après des clauses directive
Erreur du compilateur C3004 « clause » : clause non valide sur la directive OpenMP « directive »
Erreur du compilateur C3005 « message » : jeton inattendu rencontré dans la directive OpenMP « directive »
Erreur du compilateur C3006 « clause » : un argument attendu est manquant dans la clause sur la directive OpenMP « directive »
Erreur du compilateur C3007 « clause »: la clause sur la directive OpenMP « directive » ne prend pas d’argument
Erreur du compilateur C3008 « argument » : une parenthèse fermante ’)’ est manquante sur la directive OpenMP « directive »
Erreur du compilateur C3009 « étiquette » : saut dans le bloc structuré OpenMP non autorisé
Erreur du compilateur C3010 « étiquette » : saut en dehors du bloc structuré OpenMP non autorisé
Erreur du compilateur C3011 assembly inline non autorisé directement dans une région parallèle
Erreur du compilateur C3012 « fonction » : fonction intrinsèque non autorisée directement dans une région parallèle
Erreur du compilateur C3013 « clause » : la clause ne peut apparaître qu’une seule fois dans la directive OpenMP « directive »
Erreur du compilateur C3014 boucle for attendue à la suite de la directive OpenMP « directive »
Erreur du compilateur C3015 forme incorrecte de l'initialisation dans l'instruction 'for' OpenMP
Erreur du compilateur C3016 « identificateur » : la variable d’index de l’instruction OpenMP « for » doit être de type intégral signé
Erreur du compilateur C3017 forme incorrecte du test de fin dans l'instruction 'for' OpenMP
Erreur du compilateur C3018 « identificateur » : le test ou l’incrément de l’instruction OpenMP « for » doivent utiliser la variable d’index « variable »
Erreur du compilateur C3019 Forme incorrecte de l’incrément dans l’instruction OpenMP « for »
Erreur du compilateur C3020 « variable » : la variable d’index de la boucle OpenMP « for » ne peut pas être modifiée dans le corps de la boucle
Erreur du compilateur C3021 « argument » : l’argument est vide dans la directive OpenMP « directive »
Erreur du compilateur C3022 « directive » : type de planification de « directive » non valide dans la directive OpenMP « directive »
Erreur du compilateur C3023 « argument » : jeton inattendu rencontré dans l’argument de la clause OpenMP « directive »
Erreur du compilateur C3024 « schedule(runtime) » : l’expression chunk_size n’est pas autorisée
Erreur du compilateur C3025 « clause » : expression intégrale attendue
Erreur du compilateur C3026 « clause » : l’expression de la constante doit être positive
Erreur du compilateur C3027 « clause » : expression arithmétique ou de pointeur attendue
Erreur du compilateur C3028 « membre » : seul un membre de données variable ou statique peut être utilisé dans une clause de partage de données
Erreur du compilateur C3029 « symbole » : ne peut figurer qu’une seule fois dans les clauses de partage de données d’une directive OpenMP
Erreur du compilateur C3030 « identificateur » : la variable de la clause/directive « directive » ne peut pas avoir un type référence
Erreur du compilateur C3031 « identificateur » : la variable de la clause « reduction » doit avoir un type arithmétique scalaire
Erreur du compilateur C3032 « identificateur » : la variable de la clause « clause » ne peut pas avoir un type incomplet « type »
Erreur du compilateur C3033 « identificateur » : la variable de la clause « clause » ne peut pas avoir un type qualifié const
Erreur du compilateur C3034 La directive OpenMP « directive » ne peut pas être imbriquée directement dans la directive « directive »
Erreur du compilateur C3035 La directive 'ordered' OpenMP doit être liée directement à une directive 'for' ou 'parallel for' avec la clause 'ordered'
Erreur du compilateur C3036 « clause » : jeton d’opérateur non valide dans la clause OpenMP « reduction »
Erreur du compilateur C3037 « identificateur » : la variable de la clause « clause » doit être partagée dans un contexte englobant
Erreur du compilateur C3038 « identificateur » : la variable de la clause « private » ne peut pas être une variable de réduction dans un contexte englobant
Erreur du compilateur C3039 « identificateur » : la variable d’index de l’instruction OpenMP « for » ne peut pas être une variable de réduction
Erreur du compilateur C3040 « identificateur » : le type de la variable de la clause « reduction » est incompatible avec l’opérateur de réduction « opérateur »
Erreur du compilateur C3041 « identificateur » : la variable de la clause « copyprivate » doit être privée dans un contexte englobant
Erreur du compilateur C3042 Les clauses « copyprivate » et « nowait » ne peuvent pas figurer en même temps dans la directive OpenMP « directive »
Erreur du compilateur C3043 la directive 'critical' OpenMP ne peut pas être imbriquée dans une directive 'critical' du même nom
Erreur du compilateur C3044 « section » : autorisée seulement si elle est imbriquée directement sous une directive OpenMP « sections »
Erreur du compilateur C3045 Instruction composée attendue à la suite de la directive 'sections' OpenMP. Accolade '{' manquante
Erreur du compilateur C3046 Bloc structuré manquant dans une région '#pragma omp sections' OpenMP
Erreur du compilateur C3047 Un bloc structuré d’une région OpenMP « sections » doit être précédé de « #pragma omp section » (obsolète dans Visual Studio 2022).
Erreur du compilateur C3048 Forme incorrecte de l'expression placée à la suite de '#pragma omp atomic'
Erreur du compilateur C3049 « argument » : argument non valide dans la clause OpenMP « default »
Erreur du compilateur C3050 « classe » : une classe ref ne peut pas hériter de « identificateur »
Erreur du compilateur C3051 Obsolète.
Erreur du compilateur C3052 « identificateur » : la variable n’apparaît pas dans une clause de partage de données sous une clause default(none)
Erreur du compilateur C3053 « identificateur » : « threadprivate » est valide seulement pour des éléments de données globaux ou statiques
Erreur du compilateur C3054 « #pragma omp parallel » n’est actuellement pas pris en charge dans une classe ou une fonction générique (obsolète dans Visual Studio 2022).
Erreur du compilateur C3055 « identificateur » : impossible de référencer le symbole avant qu’il ne soit utilisé dans la directive « threadprivate »
Erreur du compilateur C3056 « identificateur » : le symbole n’est pas dans la même portée avec la directive « threadprivate »
Erreur du compilateur C3057 « identificateur » : l’initialisation dynamique des symboles « threadprivate » n’est actuellement pas prise en charge
Erreur du compilateur C3058 « identificateur » : symbole non déclaré en tant que « threadprivate » avant d’être utilisé dans la clause « copyin »
Erreur du compilateur C3059 « identificateur » : le symbole « threadprivate » ne peut pas être utilisé dans la clause « clause »
Erreur du compilateur C3060 « identificateur » : une fonction friend ne peut pas être définie dans une classe en utilisant un nom qualifié (elle peut seulement être déclarée)
Erreur du compilateur C3061 Opérateur « opérateur » : non autorisé sur une énumération « type » avec le type sous-jacent « type »
Erreur du compilateur C3062 « identificateur » : l’énumérateur requiert une valeur, car le type sous-jacent est « type »
Erreur du compilateur C3063 Opérateur « opérateur » : tous les opérandes doivent avoir le même type d’énumération
Erreur du compilateur C3064 « identificateur » : doit être un type simple ou être résolu en un type simple
Erreur du compilateur C3065 la déclaration de propriété au niveau d'une portée sans classe n'est pas autorisée
Erreur du compilateur C3066 Il existe plusieurs moyens d’appeler un objet de ce type avec ces arguments.
Erreur du compilateur C3067 Une liste d’initialiseurs ne peut pas être utilisée avec l’opérateur intégré operator[]
Erreur du compilateur C3068 « identificateur » : une fonction « naked » ne peut pas contenir d’objets qui requièrent un déroulement si une exception C++ se produisait
Erreur du compilateur C3069 Opérateur « operateur » : non autorisé pour un type énumération
Erreur du compilateur C3070 « identificateur » : la propriété n’a pas de méthode « set »
Erreur du compilateur C3071 L’opérateur « opérateur » peut être appliqué seulement à une instance d’une classe ref ou d’un type valeur
Erreur du compilateur C3072 L’opérateur « opérateur » ne peut pas être appliqué à une instance d’une classe ref. Utilisez l’opérateur unaire « % » pour convertir une instance d’une classe ref en un type handle
Erreur du compilateur C3073 « identificateur » : la classe ref n’a pas de constructeur de copie défini par l’utilisateur
Erreur du compilateur C3074 Un tableau ne peut pas être initialisé avec un initialiseur entre parenthèses
Erreur du compilateur C3075 « identificateur » : vous ne pouvez pas incorporer une instance d’un type référence, « type », dans un type valeur
Erreur du compilateur C3076 « identificateur » : vous ne pouvez pas incorporer une instance d’un type référence, « type », dans un type natif
Erreur du compilateur C3077 « identificateur » : un finaliseur peut être membre seulement d’un type référence
Erreur du compilateur C3078 La taille du tableau doit être spécifiée dans de nouvelles expressions
Erreur du compilateur C3079 Une liste d’initialiseurs ne peut pas être utilisée en tant qu’opérande droit de cet opérateur d’affectation
Erreur du compilateur C3080 « finaliseur » : un finaliseur ne peut pas avoir de spécificateur de classe de stockage
Erreur du compilateur C3081 Obsolète.
Erreur du compilateur C3082 Obsolète.
Erreur du compilateur C3083 « identificateur » : le symbole situé à gauche de « :: » doit être un type
Erreur du compilateur C3084 « identificateur » : un destructeur/finaliseur ne peut pas être « mot clé »
Erreur du compilateur C3085 « identificateur » : un constructeur ne peut pas être « mot clé »
Erreur du compilateur C3086 Impossible de trouver « std::initializer_list » : vous devez utiliser #include <initializer_list>
Erreur du compilateur C3087 « identificateur » : l’appel de « déclaration » initialise déjà ce membre
Erreur du compilateur C3088 « classe » : le constructeur d’attribut doit avoir des arguments formels nommés
Erreur du compilateur C3089 « identificateur » : le nom du paramètre ne correspond à aucun nom de membre de données
Erreur du compilateur C3090 « classe » : la classe d’attributs ne peut pas être un modèle
Erreur du compilateur C3091 « classe » : la classe d’attributs ne peut pas avoir de classes de base
Erreur du compilateur C3092 « classe » : un membre de classe d’attributs ne peut pas être un champ de bits, « static » ou « const »
Erreur du compilateur C3093 « type » : type non autorisé pour le membre de classe d’attributs « membre »
Erreur du compilateur C3094 « attribut » : utilisation anonyme non autorisée
Erreur du compilateur C3095 « attribut » : l’attribut ne peut pas être répété
Erreur du compilateur C3096 « attribut » : l’attribut est autorisé seulement sur les membres de données des classes d’attributs
Erreur du compilateur C3097 « attribut » : l’étendue de l’attribut doit être délimitée avec « assembly: » ou « module: »
Erreur du compilateur C3098 « identificateur » : l’attribut n’a pas de constructeurs définis par l’utilisateur
Erreur du compilateur C3099 « mot clé » : utilisez [System::AttributeUsageAttribute]/[Windows::Foundation::Metadata::AttributeUsageAttribute] pour les attributs gérés/WinRT

Voir aussi

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