Partager via


Erreurs du compilateur C3400 à C3499

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 C3400 dépendance de contrainte circulaire utilisant 'contrainte1' et 'contrainte2'
Erreur du compilateur C3401 'spécificateur' : spécificateur d’accès à l’assembly non valide - seul 'private' est autorisé pour les modèles de classes
Erreur du compilateur C3402 'fonction' : impossible de résoudre la surcharge sauf dans la portée actuelle
Erreur du compilateur C3403 thread_local ne peut pas être utilisé avec /clr:pure ou /clr:safe
Erreur du compilateur C3404 'construction' : erreur de syntaxe inattendue
Erreur du compilateur C3405 'fonction' : impossible de résoudre la surcharge sans un descripteur complet
Erreur du compilateur C3406 'mot_clé' : ne peut pas être utilisé dans un spécificateur de type élaboré
Erreur du compilateur C3407 Impossible d’utiliser 'type' dans ce contexte
Erreur du compilateur C3408 'attribut' : attribut non autorisé sur les définitions de modèles
Erreur du compilateur C3409 bloc d’attributs vide non autorisé
Erreur du compilateur C3410 'identificateur' : le type de l’instanciation explicite 'type' ne correspond pas au type du modèle de variable 'type'
Erreur du compilateur C3411 'type' n’est pas une taille de tableau valide car il ne s’agit pas d’un type entier
Erreur du compilateur C3412 'spécialisation' : impossible de spécialiser le modèle dans la portée actuelle
Erreur du compilateur C3413 'modèle' : instanciation explicite non valide
Erreur du compilateur C3414 'fonction' : la fonction membre importée ne peut pas être définie
Erreur du compilateur C3415 plusieurs sections 'section' trouvées avec différents attributs ('0xvaleur')
Erreur du compilateur C3416 Obsolète.
Erreur du compilateur C3417 'déclarateur' : les types valeur ne peuvent pas contenir de fonctions membres spéciales définies par l’utilisateur
Erreur du compilateur C3418 le spécificateur d’accès 'spécificateur' n’est pas pris en charge
Erreur du compilateur C3419 Obsolète.
Erreur du compilateur C3420 'fonction' : un finaliseur ne peut pas être virtuel
Erreur du compilateur C3421 'fonction' : vous ne pouvez pas appeler le finaliseur de cette classe, car il est soit inaccessible, soit inexistant
Erreur du compilateur C3422 'déclaration' : types incompatibles 'type' et 'type'
Erreur du compilateur C3423 Obsolète.
Erreur du compilateur C3424 'type' : un cast de style fonction vers un type tableau n’est pas autorisé
Erreur du compilateur C3425 impossible de lever une exception par pointeur pour un objet de type incomplet 'type'
Erreur du compilateur C3426 impossible de lever une exception pour un objet de type incomplet 'type'
Erreur du compilateur C3427 'contexte' : 'mot_clé' ne peut pas être utilisé avec layout_version(numéro)
Erreur du compilateur C3428 'contexte' : 'mot_clé' ne peut s’appliquer qu’aux définitions ou déclarations de classes
Erreur du compilateur C3429 'contexte' : 'mot_clé' ne peut pas être appliqué à une union
Erreur du compilateur C3430 une énumération délimitée doit avoir un nom
Erreur du compilateur C3431 'identificateur' : type1 ne peut pas être redéclaré comme type2
Erreur du compilateur C3432 'identificateur' : une déclaration anticipée d’une énumération non délimitée doit avoir un type sous-jacent
Erreur du compilateur C3433 'identificateur' : toutes les déclarations d’une énumération doivent avoir le même type sous-jacent, était 'type1', est maintenant 'type2'
Erreur du compilateur C3434 'contexte' : la valeur d’énumérateur 'nombre' ne peut pas être représentée comme 'type', la valeur est 'nombre'
Erreur du compilateur C3435 le jeu de caractères 'nom' n’est pas pris en charge.
Erreur du compilateur C3436 #pragma setlocale n’est pas pris en charge quand /source-charset, /execution-charset ou /utf-8 est spécifié
Erreur du compilateur C3437 #pragma execution_character_set n’est pas pris en charge quand /source-charset, /execution-charset ou /utf-8 est spécifié
Erreur du compilateur C3438 'contexte' : 'valeur' ne peut pas être appliqué à une classe managée/WinRT
Erreur du compilateur C3439 layout_version(numéro) : numéro de version non valide
Erreur du compilateur C3440 'déclaration' : layout_version(numéro) incompatible avec une déclaration antérieure
Erreur du compilateur C3441 'déclaration' : 'mot_clé' ne peut pas être appliqué une fois que la classe a été définie
Erreur du compilateur C3442 Initialisation de plusieurs membres d’union : 'membre1' et 'membre2'
Erreur du compilateur C3443 L’initialiseur du membre par défaut pour 'classe' est récursif
Erreur du compilateur C3444 La classe d’agrégation vide 'classe' doit être initialisée avec '{}'
Erreur du compilateur C3445 l’initialisation de copie de liste de 'type' ne peut pas utiliser un constructeur explicite
Erreur du compilateur C3446 'classe' : un initialiseur de membre par défaut n’est pas autorisé pour un membre d’une classe value
Erreur du compilateur C3447 opérande sur l’opérateur conditionnel ?: est de type 'void', mais l’autre-opérande n’est pas une expression throw, ni de type 'void'
Erreur du compilateur C3448 le nombre d’identificateurs doit correspondre au nombre d’éléments ou de membres du tableau dans une déclaration de liaison structurée
Erreur du compilateur C3449 le nombre d’identificateurs doit correspondre à la valeur de std::tuple_size<type-name>::value dans une liaison structurée de type tuple
Erreur du compilateur C3450 'type' : n’est pas un attribut ; impossible de spécifier [System::AttributeUsageAttribute]/[Windows::Foundation::Metadata::AttributeUsageAttribute]
Erreur du compilateur C3451 'attribut' : impossible d’appliquer l’attribut non managé à 'type'
Erreur du compilateur C3452 le membre argument de la liste n'est pas une constante
Erreur du compilateur C3453 'attribut' : attribut non appliqué, car le qualificateur 'qualificateur' ne correspond pas
Erreur du compilateur C3454 [attribute] non autorisé dans une déclaration de classe
Erreur du compilateur C3455 'attribut' : aucun des constructeurs d’attributs ne correspond aux arguments
Erreur du compilateur C3456 [source-annotation-attribute] non autorisé dans une déclaration de classe managée/WinRT
Erreur du compilateur C3457 'attribut' : l’attribut ne prend pas en charge les arguments sans nom
Erreur du compilateur C3458 '[attribut]' : attribut '[attribut]' déjà spécifié pour 'identificateur'
Erreur du compilateur C3459 '[attribut]' : attribut autorisé uniquement sur un indexeur de classe (propriété indexée par défaut)
Erreur du compilateur C3460 'type' : seul un type défini par l’utilisateur peut être transféré
Erreur du compilateur C3461 'type' : seul un type managé/WinRT peut être transféré
Erreur du compilateur C3462 'type' : seul un type importé peut être transféré
Erreur du compilateur C3463 'type' : type non autorisé dans l’attribut 'implements'
Erreur du compilateur C3464 'type' : impossible de transférer un type imbriqué
Erreur du compilateur C3465 pour pouvoir utiliser le type 'type', vous devez faire référence à l’assembly 'assembly'
Erreur du compilateur C3466 'type' : impossible de transmettre une spécialisation d’une classe générique
Erreur du compilateur C3467 'type' : ce type a déjà été transféré
Erreur du compilateur C3468 'type' : vous ne pouvez transférer un type que vers un assembly : 'identificateur' n’est pas un assembly
Erreur du compilateur C3469 'type' : impossible de transférer une classe générique
Erreur du compilateur C3470 'classe' : une classe ne peut pas avoir à la fois un indexeur (propriété indexée par défaut) et un opérateur []
Erreur du compilateur C3471 le nouveau nom de module nom-module (défini dans la ligne de commande) est en conflit avec le nom précédent nom-module
Erreur du compilateur C3472 le nouveau nom de fichier de sortie nom-fichier (défini dans la ligne de commande) est en conflit avec le nom de fichier précédent nom-fichier
Erreur du compilateur C3473 aucun nom de chemin de sortie ou nom de module spécifié.
Erreur du compilateur C3474 impossible d’ouvrir le fichier de sortie 'nom-fichier'
Erreur du compilateur C3475 erreur de syntaxe dans le fichier d’entrée 'nom-fichier'
Erreur du compilateur C3476 impossible d’ouvrir le fichier 'nom-fichier' pour les entrées
Erreur du compilateur C3477 une expression lambda ne peut pas apparaître dans un contexte non évalué
Erreur du compilateur C3478 'identificateur' : un tableau ne peut pas être capturé par copie
Erreur du compilateur C3479 les annotations SAL sur les expressions lambda ne sont pas prises en charge
Erreur du compilateur C3480 'variable' : une variable de capture lambda doit provenir d’une portée de fonction englobante
Erreur du compilateur C3481 'identificateur' : variable de capture lambda introuvable
Erreur du compilateur C3482 'this' peut uniquement être utilisé en tant que capture lambda dans une fonction membre non statique
Erreur du compilateur C3483 'identificateur' figure déjà dans la liste de capture lambda
Erreur du compilateur C3484 erreur de syntaxe : '->' attendu avant le type de retour
Erreur du compilateur C3485 une définition d’expression lambda ne peut pas contenir de qualificateurs cv (obsolète dans Visual Studio 2022.)
Erreur du compilateur C3486 un paramètre d’expression lambda ne peut pas avoir d’argument par défaut (obsolète dans Visual Studio 2022.)
Erreur du compilateur C3487 'type' : toutes les expressions de retour doivent déduire le même type : il s'agissait auparavant de 'type'
Erreur du compilateur C3488 '&identificateur' n’est pas autorisé quand le mode de capture par défaut est par référence
Erreur du compilateur C3489 '&identificateur' est obligatoire quand le mode de capture par défaut est le mode par copie
Erreur du compilateur C3490 impossible de modifier 'identificateur' car il est accessible via un objet const
Erreur du compilateur C3491 'identificateur' : impossible de modifier une capture par copie dans une expression lambda non mutable
Erreur du compilateur C3492 'identificateur' : vous ne pouvez pas capturer un membre d’union anonyme
Erreur du compilateur C3493 Impossible de capturer implicitement 'identificateur', car aucun mode de capture par défaut n’a été spécifié
Erreur du compilateur C3494 'this' ne peut pas être capturé explicitement, car un mode de capture englobant ne le permet pas
Erreur du compilateur C3495 'identificateur' : l’identificateur dans la capture doit être une variable avec une durée de stockage automatique déclarée dans la portée d’accès de l’expression lambda
Erreur du compilateur C3496 'this' est toujours capturé par valeur : '&' ignoré
Erreur du compilateur C3497 vous ne pouvez pas construire une instance d’une expression lambda
Erreur du compilateur C3498 'identificateur' : vous ne pouvez pas capturer une variable dotée d’un type managé/WinRT
Erreur du compilateur C3499 une expression lambda dont le type de retour spécifié est void ne peut pas retourner de valeur

Voir aussi

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