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