Erreurs du compilateur C3300 à C3399

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 C3300 « symbole» : format incorrect de la « valeur » IDL
Erreur du compilateur C3301 « coclasse» : une coclass ne peut pas être une interface « symbole »
Erreur du compilateur C3302 « identificateur» : l’identificateur contient plus de nombre caractères
Erreur du compilateur C3303 « attribut » : l’attribut ne peut être utilisé que sur « type »
Erreur du compilateur C3304 Obsolète.
Erreur du compilateur C3305 Obsolète.
Erreur du compilateur C3306 « modèle » : un modèle/générique de classe sans nom n’est pas autorisé
Erreur du compilateur C3307 « module » : impossible de créer le module IDL
Erreur du compilateur C3308 « fonction » : les appels directs via une classe importée ne sont pas pris en charge
Erreur du compilateur C3309 « macro/mot clé » : le nom du module ne peut pas être une macro ou un mot clé
Erreur du compilateur C3310 « identificateur » : conflit de nom de module
Erreur du compilateur C3311 l’attribut du module doit être défini au niveau de la portée globale
Erreur du compilateur C3312 aucune fonction « identificateur » n’a été trouvée pour le type « type »
Erreur du compilateur C3313 « identificateur »: une variable ne peut pas avoir le type « type »
Erreur du compilateur C3314 « symbole » : type de module IDL non pris en charge
Erreur du compilateur C3315 « fonction » : doit être une fonction membre
Erreur du compilateur C3316 « type »: un tableau de taille inconnue ne peut pas être utilisé dans une instruction for basée sur une plage
Erreur du compilateur C3317 « identificateur » : une fonction de surcharge ne peut pas être utilisée comme expression dans une instruction for basée sur une plage
Erreur du compilateur C33181 « type » : un tableau ne peut pas avoir de type d’élément contenant « auto »
Erreur du compilateur C3319 Obsolète.
Erreur du compilateur C3320 « type » : le type ne peut pas avoir le même nom que la propriété « nom » du module
Erreur du compilateur C3321 une liste d’initialiseurs est inattendue dans ce contexte
Erreur du compilateur C3322 « propriété » : propriété non valide pour l’attribut « attribut »
Erreur du compilateur C3323 « alignas » et « __declspec(align) » ne sont pas autorisés dans des déclarations de fonction
Erreur du compilateur C3324 « propriété » : la propriété apparaît plusieurs fois dans l’attribut « attribut »
Erreur du compilateur C3325 « attribut » : l’attribut a trop d’arguments
Erreur du compilateur C3326 « valeur » : valeur non valide pour la propriété « propriété » de l’attribut « attribut »
Erreur du compilateur C3327 « propriété » : une valeur doit être spécifiée pour la propriété de l’attribut « attribut »
Erreur du compilateur C3328 « attribut » : l’attribut a un nombre d’arguments insuffisant
Erreur du compilateur C3329 erreur de syntaxe : « token1 » attendu et non « token2 »
Erreur du compilateur C3330 « fonction » : une fonction ne peut pas retourner un tableau « type »
Erreur du compilateur C3331 « identificateur » : les attributs des paramètres sont uniquement autorisés sur les coclasses et les interfaces COM
Erreur du compilateur C3332 « propriété » : syntaxe non cohérente, la « propriété » est obligatoire et doit avoir une valeur par défaut
Erreur du compilateur C3333 « bibliothèque » : #import de bibliothèque de types endommagée impossible
Erreur du compilateur C3334 #import de bibliothèque de types endommagée impossible
Erreur du compilateur C3335 « identificateur » : il peut y avoir au plus une interface par défaut pour une coclasse « classe »
Erreur du compilateur C3336 Cette opération doit être effectuée au niveau de la portée de classe
Erreur du compilateur C3337 « identificateur » : defaultvtable doit être la source de l’événement de la coclasse « classe »
Erreur du compilateur C3338 « identificateur » : il peut y avoir au plus une interface par défaut qui est aussi la source de l’événement de la coclasse « classe »
Erreur du compilateur C3339 le paramètre de modèle nécessite « classe »ou « nom de type » après la liste des paramètres
Erreur du compilateur C3340 « identificateur » : une interface ne peut être définie à la fois « restreinte » et « par défaut » dans la coclasse « classe »
Erreur du compilateur C3341 « interface » : une interface defaultvtable doit être « double » ou « personnalisée »
Erreur du compilateur C3342 « identificateur » : attribut ambigu
Erreur du compilateur C3343 « classe::nom »: l’identificateur d’attribut contient trop de caractères
Erreur du compilateur C3344 vous ne pouvez pas définir une spécialisation explicite ni une spécialisation partielle de « symbole »
Erreur du compilateur C3345 « nom » : identificateur du nom de module non valide
Erreur du compilateur C3346 déclaration exportée en dehors de la portée de l’espace de noms
Erreur du compilateur C3347 « argument » : l’argument requis n’est pas spécifié dans l’attribut nom d’attribut
Erreur du compilateur C3348 les modèles exportés ne font pas partie des normes actuelles C++
Erreur du compilateur C3349 « classe::membre »: l’attribut multidiffusion a déjà été implémenté par le fournisseur nom du fournisseur
Erreur du compilateur C3350 « fonction » : un constructeur délégué attend nombre argument(s)
Erreur du compilateur C3351 « fonction » : si vous passez une instance d’objet NULL à un constructeur délégué, vous devez aussi passer l’adresse d’une fonction membre statique
Erreur du compilateur C3352 « fonction » : la fonction spécifiée est incompatible avec le type délégué « type »
Erreur du compilateur C3353 « identificateur » : un délégué ne peut être créé qu’à partir d’une fonction globale ou d’une fonction membre d’un type managé/WinRT
Erreur du compilateur C3354 « identificateur » : la fonction utilisée pour créer un délégué ne peut pas avoir un type de retour « type »
Erreur du compilateur C3355 « classe::membre » : l’attribut multidiffusion écoute le fournisseur « provider1 », mais est implémenté par le fournisseur « provider2 »
Erreur du compilateur C3356 « identificateur » : impossible d’appeler un attribut multidiffusion avec un nom complet
Erreur du compilateur C3357 « attribut » : l’attribut est ambigu, il doit utiliser un nom complet
Erreur du compilateur C3358 « symbole » : symbole introuvable
Erreur du compilateur C3359 « spécialisation » : spécialisation du modèle impossible
Erreur du compilateur C3360 « chaîne » : Création de nom impossible
Erreur du compilateur C3361 il n’existe aucun contexte dans lequel action
Erreur du compilateur C3362 « classe::membre »: l’attribut multidiffusion n’a pas été implémenté
Erreur du compilateur C3363 « identificateur » : « typeid » uniquement applicable à un type
Erreur du compilateur C3364 « fonction » : argument non valide pour le constructeur délégué ; la cible du délégué doit être un pointeur vers une fonction membre
Erreur du compilateur C3365 opérateur « opérateur » : opérandes différents de type « type1 » et « type2 »
Erreur du compilateur C3366 « membre »: les données membres statiques des types managés/WinRT doivent être définies dans la définition de la classe
Erreur du compilateur C3367 « fonction » : utilisation d’une fonction statique impossible pour créer un délégué indépendant
Erreur du compilateur C3368 « déclarateur » : convention d’appel à l’IDL non valide
Erreur du compilateur C3369 « module » : module idl_module déjà défini
Erreur du compilateur C3370 « module » : module idl_module non encore défini
Erreur du compilateur C3371 'idl_module' : seule la propriété 'name' est autorisée ici
Erreur du compilateur C3372 doit spécifier au moins 1 interface pour l’attribut « attribut » d’une coclasse
Erreur du compilateur C3373 l’attribut « attribut » n’accepte aucun argument sauf sur une coclasse
Erreur du compilateur C3374 impossible de récupérer l’adresse de « fonction » à moins de créer une instance de délégué
Erreur du compilateur C3375 « fonction » : fonction déléguée ambiguë
Erreur du compilateur C3376 « modèle » : seuls les modèles de données membres statiques sont autorisés
Erreur du compilateur C3377 « decltype(auto) » n’est pas autorisé dans une nouvelle expression (obsolète dans Visual Studio 2022.)
Erreur du compilateur C3378 une déclaration peut être exportée uniquement à partir d’une unité d’interface de module
Erreur du compilateur C3379 « classe » : la déclaration d’une classe imbriquée ne peut pas contenir de spécificateur d’accès à l’assembly
Erreur du compilateur C3380 « spécificateur » : spécificateur d’accès à l’assembly non valide, seuls « public » ou « privé » sont autorisés
Erreur du compilateur C3381 « spécificateur » : les spécificateurs d’accès à l’assembly sont disponibles uniquement dans un code compilé à l’aide de l’option /clr
Erreur du compilateur C3382 'sizeof' n'est pas pris en charge avec /clr:safe
Erreur du compilateur C3383 'operator new' n'est pas pris en charge avec /clr:safe
Erreur du compilateur C3384 « type » : la contrainte de valeur et la contrainte ref s’excluent mutuellement
Erreur du compilateur C3385 « fonction » : une fonction avec un attribut personnalisé DllImport ne peut pas retourner l’instance d’une classe
Erreur du compilateur C3386 « type » : __declspec(dllexport)/__declspec(dllimport) ne peut pas être appliqué à un type managé/WinRT
Erreur du compilateur C3387 « membre » : __declspec(dllexport)/__declspec(dllimport) ne peut pas être appliqué au membre d’un type managé/WinRT
Erreur du compilateur C3388 « jeton » : non autorisé comme contrainte, « valeur » prise par défaut pour poursuivre l’analyse
Erreur du compilateur C3389 __declspec(spécificateur) ne peut pas être utilisé avec /clr:pure ou /clr:safe
Erreur compilateur C3390 « type » : argument de type non valide pour le paramètre générique « paramètre » du générique « generic_type », doit être un type référence
Erreur du compilateur C3391 « type » : argument de type non valide pour le paramètre générique «paramètre» du générique « generic_type », doit être un type valeur non nullable
Erreur du compilateur C3392 « type » : argument de type non valide pour le paramètre générique « paramètre » du générique « generic_type », doit avoir un constructeur sans paramètre public
Erreur du compilateur C3393 erreur de syntaxe dans la clause de contrainte : « identificateur » n’est pas un type
Erreur du compilateur C3394 erreur de syntaxe dans la clause de contrainte :» symbole » trouvé, type attendu
Erreur du compilateur C3395 « fonction » : __declspec(dllexport) ne peut pas être appliqué à une fonction avec la convention d’appel __clrcall
Erreur du compilateur C3396 « classe.membre » : attribut personnalisé introuvable dans « espace de noms »
Erreur du compilateur C3397 L'initialisation d'agrégats n'est pas autorisée dans les arguments par défaut
Erreur du compilateur C3398 « opérateur » : Impossible de convertir le type « type » en type « type ». L'expression source doit être un symbole de fonction
Erreur du compilateur C3399 « type » : impossible de fournir des arguments lors de la création d’une instance d’un paramètre générique

1-N’est plus émis dans Visual Studio 2022 version 17.11

Voir aussi

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