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