Erreurs du compilateur C2600 à C2699

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 C2600 'function' : impossible de définir une fonction membre spéciale générée par le compilateur (doit être déclarée d’abord dans la classe)
Erreur du compilateur C2601 'function' : définitions de fonction locale non valides
Erreur du compilateur C2602 'class::identifier' n’est pas un membre d’une classe de base de 'class'
Erreur du compilateur C2603 'function' : trop d’objets statiques de portée de bloc avec des constructeurs/destructeurs dans la fonction
Erreur du compilateur C2604 'identifier' : impossible d’implémenter plusieurs méthodes d’interface
Erreur du compilateur C2605 'identifier' : cette méthode est réservée dans une classe managée/WinRT
Erreur du compilateur C2606 'class1' : impossible de réimplementer 'member', car il est hérité de la classe de base 'class2' du runtime
Erreur du compilateur C2607 échec de l’assertion statique
Erreur du compilateur C2608 Obsolète.
Erreur du compilateur C2609 Obsolète.
Erreur du compilateur C2610 'class::member' : n’est pas une fonction membre spéciale pouvant être définie par défaut
Erreur du compilateur C2611 'token' : non valide après '~' (identificateur attendu)
Erreur du compilateur C2612 'character' de fin non valide dans la liste d’initialiseurs membres/de base
Erreur du compilateur C2613 'character' de fin non valide dans une liste de classes de base
Erreur du compilateur C2614 'class' : initialisation de membre non valide : 'identifier' n’est ni une base ni un membre
Erreur du compilateur C2615 Obsolète.
Erreur du compilateur C2616 'conversion' : impossible de convertir implicitement l’expression non-lvalue 'type1' en 'type2' qui n’est pas const
Erreur du compilateur C2617 'function' : instruction return incohérente
Erreur du compilateur C2618 Obsolète.
Erreur du compilateur C2619 'identifier' : un membre de données statique n’est pas autorisé dans un struct/une union anonyme
Erreur du compilateur C2620 Obsolète.
Erreur du compilateur C2621 Obsolète.
Erreur du compilateur C2622 Obsolète.
Erreur du compilateur C2623 Obsolète.
Erreur du compilateur C2624 'scope::type' : les classes locales ne peuvent pas être utilisées pour déclarer des variables ’extern’
Erreur du compilateur C2625 'identifier' : membre d'union non valide ; le type 'type' est le type de référence
Erreur du compilateur C2626 'identifier' : un membre de données privé/protégé n’est pas autorisé dans un struct/une union anonyme
Erreur du compilateur C2627 'function' : fonction membre non autorisée dans une union anonyme
Erreur du compilateur C2628 'type1' suivi de 'type2' n'est pas valide (avez-vous oublié un ';' ?)
Erreur du compilateur C2629 'identifier' : un struct/une union anonyme ne peut pas déclarer un type imbriqué
Erreur du compilateur C2630 'symbol' trouvé à la place d'une liste avec la virgule comme séparateur
Erreur du compilateur C2631 'identifier' : impossible de définir une classe ou un enum dans un modèle d’alias
Erreur du compilateur C2632 'type1' suivi de 'type2' n'est pas valide
Erreur du compilateur C2633 'identifier' : 'inline' est la seule classe de stockage valide pour les constructeurs
Erreur du compilateur C2634 'class::member' : pointeur non valide vers un membre de référence
Erreur du compilateur C2635 impossible de convertir un 'type1*' en 'type2*' ; la conversion à partir d'une classe de base virtuelle est implicite
Erreur du compilateur C2636 'identifier' : pointeur non valide vers un membre de référence
Erreur du compilateur C2637 'identifier' : impossible de modifier les pointeurs vers des membres de données
Erreur du compilateur C2638 'identifier' : modificateur __based non valide sur un pointeur vers un membre
Erreur du compilateur C2639 Obsolète.
Erreur du compilateur C2640 'identifier' : modificateur __based non valide sur une référence
Erreur du compilateur C2641 Obsolète.
Erreur du compilateur C2642 Obsolète.
Erreur du compilateur C2643 Obsolète.
Erreur du compilateur C2644 Obsolète.
Erreur du compilateur C2645 aucun nom qualifié pour un pointeur vers un membre (trouvé ':: *')
Erreur du compilateur C2646 un struct/une union anonyme sur l'étendue globale ou de l’espace de noms doit être déclaré statique
Erreur du compilateur C2647 'operator' : impossible de déréférencer un 'type1' sur un 'type2'
Erreur du compilateur C2648 'identifier' : l’utilisation d’un membre comme paramètre par défaut nécessite un membre statique
Erreur du compilateur C2649 'identifier' : n’est pas de type 'class/struc/union'
Erreur du compilateur C2650 'operator' : ne peut pas être une fonction virtuelle
Erreur du compilateur C2651 'type' : l’élément à gauche de '::' doit être une classe, un struct ou une union
Erreur du compilateur C2652 'identifier' : constructeur de copie non valide : le premier paramètre ne doit pas être un 'type'
Erreur du compilateur C2653 identifier' : n'est pas un nom de classe ni d’espace de noms
Erreur du compilateur C2654 'identifier' : tentative d’accès à un membre en dehors d’une fonction membre
Erreur du compilateur C2655 'identifier' : définition ou redéclaration non valide dans l'étendue actuelle
Erreur du compilateur C2656 'function' : fonction non autorisée comme champ de bits
Erreur du compilateur C2657 'class::*' trouvé au début d’une instruction (avez-vous oublié de spécifier un type ?)
Erreur du compilateur C2658 'identifier' : redéfinition dans un struct/une union anonyme
Erreur du compilateur C2659 'operator' : fonction comme opérande gauche
Erreur du compilateur C2660 'function' : la fonction ne prend pas number arguments
Erreur du compilateur C2661 'function' : aucune fonction surchargée ne prend number arguments
Erreur du compilateur C2662 'function' : impossible de convertir le pointeur 'this' de 'type1' en 'type2'
Erreur du compilateur C2663 'function' : number surcharges n’ont pas de conversion valide pour le pointeur 'this'
Erreur du compilateur C2664 function’ : impossible de convertir l’argument number de ’type1’ en ’type2
Erreur du compilateur C2665 'function' : aucune des number surcharges n'a pu convertir tous les types d'argument
Erreur du compilateur C2666 'function' : les number surcharges ont des conversions similaires
Erreur du compilateur C2667 function' : aucune des number surcharges n’a de meilleure conversion
Erreur du compilateur C2668 'function' : appel ambigu à une fonction surchargée
Erreur du compilateur C2669 fonction membre non autorisée dans une union anonyme
Erreur du compilateur C2670 function' : le modèle de fonction ne peut pas convertir le paramètre number à partir du type 'type'
Erreur du compilateur C2671 'function' : les fonctions membres statiques n'ont pas de pointeurs 'this'
Erreur du compilateur C2672 'function' : fonction surchargée correspondante introuvable
Erreur du compilateur C2673 'function' : les fonctions globales n'ont pas de pointeurs 'this'
Erreur du compilateur C2674 une déclaration générique n'est pas autorisée dans ce contexte
Erreur du compilateur C2675 'operator' unaire : 'type' ne définit pas cet opérateur ou une conversion en type acceptable sur l'opérateur prédéfini
Erreur du compilateur C2676 'operator' binaire : 'type' ne définit pas cet opérateur ou une conversion en type acceptable sur l'opérateur prédéfini
Erreur du compilateur C2677 'operator' binaire : aucun opérateur global trouvé prenant le type 'type' (ou il n'y a pas de conversion acceptable)
Erreur du compilateur C2678 'operator' binaire : aucun opérateur trouvé prenant un opérande gauche de type 'type' (ou il n’y a pas de conversion acceptable)
Erreur du compilateur C2679 'operator' binaire : aucun opérateur trouvé prenant un opérande droit de type 'type' (ou il n’y a pas de conversion acceptable)
Erreur du compilateur C2680 'type' : type cible non valide pour cast
Erreur du compilateur C2681 'type' : type d'expression non valide pour cast
Erreur du compilateur C2682 impossible d'utiliser 'cast' pour convertir 'type1' en 'type2'
Erreur du compilateur C2683 'cast' : 'type' n'est pas un type polymorphe
Erreur du compilateur C2684 'declarator' : les fonctions supprimées et définies par défaut ne sont pas prises en charge dans les classes managées/WinRT
Erreur du compilateur C2685 'declarator' : les fonctions supprimées et définies par défaut ne sont pas prises en charge avec des spécificateurs de restriction explicites
Erreur du compilateur C2686 impossible de surcharger des fonctions membres statiques et non statiques avec les mêmes types de paramètre
Erreur du compilateur C2687 'type' : la déclaration d'exception ne peut pas être 'void' ou désigner un type incomplet, ou un pointeur ou une référence d'un type incomplet
Erreur du compilateur C2688 'type::member' : retours covariants avec un héritage virtuel ou multiple non pris en charge pour les fonctions varargs
Erreur du compilateur C2689 function' : une fonction friend ne peut pas être définie dans une classe locale
Erreur du compilateur C2690 'operator' : impossible d'effectuer une opération arithmétique de pointeur sur un tableau managé/WinRT
Erreur du compilateur C2691 'type' : un tableau managé/WinRT ne peut pas avoir ce type d'élément
Erreur du compilateur C2692 'function' : les fonctions entièrement prototypées sont nécessaires dans le compilateur C avec l'option '/clr'
Erreur du compilateur C2693 'operator' : comparaison non valide entre des références et un tableau managé/WinRT
Erreur du compilateur C2694 override_function' : la fonction virtuelle de remplacement a une spécification d'exception moins restrictive que la fonction membre virtuelle de classe de base 'base_function'
Erreur du compilateur C2695 override_function' : la fonction virtuelle de remplacement diffère de 'base_function' seulement par la convention d'appel
Erreur du compilateur C2696 Impossible de créer un objet temporaire de type managé/WinRT 'type'
Erreur du compilateur C2697 Obsolète.
Erreur du compilateur C2698 la déclaration using pour 'declaration1' ne peut pas coexister avec la déclaration using existante pour 'declaration2'

Voir aussi

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