Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Les articles de cette section de la documentation décrivent un sous-ensemble de messages d’erreur générés par le compilateur.
Importante
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 correctif peut résoudre plusieurs erreurs suivantes.
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 avez atterri sur cette page et que vous pensez que l’erreur ou le message d’avertissement a besoin d’une explication supplémentaire, faites-nous savoir à l’aide des boutons de commentaires de cette page. 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 et choisissez Aide > Envoyer des commentaires > Signaler un problème, ou soumettez une suggestion en utilisant Aide > Envoyer des commentaires > Suggérer une fonctionnalité. 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 assistance supplémentaire pour les erreurs et les avertissements dans les forums Microsoft Q&A C++ . 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 C2100 | vous ne pouvez pas déréférer un opérande de type 'type' |
| Erreur du compilateur C2101 | « & » sur la constante |
| Erreur du compilateur C2102 | « & » requiert une valeur l |
| Erreur du compilateur C2103 | « & » sur une variable de registre |
| Erreur du compilateur C2104 | « & » sur un champ de bits ignoré |
| Erreur du compilateur C2105 | 'operator' nécessite une l-value |
| Erreur du compilateur C2106 | « operator » : l'opérande gauche doit être une valeur l |
| Erreur du compilateur C2107 | index illégal, indirection interdite |
| Erreur du compilateur C2108 | l'abonnement n'est pas de type intégral |
| Erreur du compilateur C2109 | l'indice doit être de type tableau ou pointeur |
| Erreur du compilateur C2110 | '+' : impossible d’ajouter deux pointeurs |
| Erreur du compilateur C2111 | '+' : l’ajout d’un pointeur exige un opérande de type intégral |
| Erreur du compilateur C2112 | '-' : la soustraction d'un pointeur nécessite un opérande de type intégral ou pointeur |
| Erreur du compilateur C2113 | '-' : un pointeur ne peut être soustrait que d'un autre pointeur |
| Erreur du compilateur C2114 | 'operator' : pointeur à gauche ; nécessite une valeur intégrale à droite |
| Erreur du compilateur C2115 | 'operator' : types incompatibles |
| Erreur du compilateur C2116 | 'name' : les listes de paramètres de fonction ne correspondent pas entre les déclarations |
| Erreur du compilateur C2117 | 'identifier' : dépassement des limites du tableau |
| Erreur du compilateur C2118 | indice négatif |
| Erreur du compilateur C2119 | 'identifier' : le type de 'type' ne peut pas être déduit à partir d’un initialiseur vide |
| Erreur du compilateur C2120 | 'void' ne peut pas être combiné avec tout autre spécificateur de type |
| Erreur du compilateur C2121 | '#' : caractère non valable ; peut résulter d'une expansion macro |
| Erreur du compilateur C2122 | 'identifier' : paramètre de prototype illégal dans la liste de noms |
| Erreur du compilateur C2123 | 'identifier' : les modèles d'alias ne peuvent pas être spécialisés explicitement ou partiellement |
| Erreur du compilateur C2124 | division ou modulo par zéro |
| Erreur du compilateur C2125 | 'constexpr' n'est pas compatible avec 'token' |
| Erreur du compilateur C2126 | 'identifier' ne peut pas être déclaré avec le spécificateur 'constexpr' |
| Erreur du compilateur C2127 | 'identifier' : initialisation illégale de l'entité 'constexpr' avec une expression non constante |
| Erreur du compilateur C2128 | 'function' : alloc_text/same_seg applicable uniquement aux fonctions avec une liaison C |
| Erreur du compilateur C2129 | fonction statique 'identifier' déclarée, mais non définie |
| Erreur du compilateur C2130 | #line attendait une chaîne contenant le nom du fichier et a trouvé 'token' |
| Erreur du compilateur C2131 | l'expression n'a pas été évaluée à une constante |
| Erreur du compilateur C2132 | erreur de syntaxe : identificateur inattendu |
| Erreur du compilateur C2133 | 'identifier' : taille inconnue |
| Erreur du compilateur C2134 | 'function' : l'appel ne produit pas une expression constante |
| Erreur du compilateur C2135 | 'identificateur' : vous ne pouvez pas appliquer 'operator' à un champ de bits |
| Erreur du compilateur C2136 | création de contrat d'API non autorisée |
| Erreur du compilateur C2137 | constante caractère vide |
| Erreur du compilateur C2138 | la définition d’une énumération sans membre est illégale |
| Erreur du compilateur C2139 | 'class' : une classe non définie n'est pas autorisée en tant qu'argument pour un trait de type intrinsèque du compilateur 'trait' |
| Erreur du compilateur C2140 | 'type' : un type dépendant d'un paramètre de type générique n'est pas autorisé en tant qu'argument pour un trait de type intrinsèque du compilateur 'trait' |
| Erreur du compilateur C2141 | dépassement de la taille du tableau |
| Erreur du compilateur C2142 | les déclarations de fonction diffèrent, les paramètres de variable sont uniquement spécifiés dans l'une d'entre elles |
| Erreur du compilateur C2143 | erreur de syntaxe : absence de 'token1' avant 'token2' |
| Erreur du compilateur C2144 | erreur de syntaxe : 'type' doit être précédé de 'token2' |
| Erreur du compilateur C2145 | erreur de syntaxe : absence de 'token' avant l’identificateur |
| Erreur du compilateur C2146 | erreur de syntaxe : absence de 'token' avant l’identificateur 'identifier' |
| Erreur du compilateur C2147 | erreur de syntaxe : 'token' est un nouveau mot clé |
| Erreur du compilateur C2148 | la taille totale du tableau ne doit pas dépasser 0xvalue octets |
| Erreur du compilateur C2149 | 'identifier' : un champ de bit nommé ne peut pas avoir une largeur égale à zéro |
| Erreur du compilateur C2150 | 'identifier' : un champ de bit doit être du type 'int', 'signed int' ou 'unsigned int' |
| Erreur du compilateur C2151 | plus d'un attribut de langage |
| Erreur du compilateur C2152 | 'identifier' : pointeurs vers des fonctions avec différents attributs |
| Erreur du compilateur C2153 | les littéraux de nombre entier doivent comporter au moins un chiffre |
| Erreur du compilateur C2154 | 'type' : seul le type d’énumération est autorisé en tant qu’argument pour la caractéristique de type intrinsèque du compilateur '__underlying_type' |
| Erreur du compilateur C2155 | '?' : opérande gauche non valide, type arithmétique ou pointeur attendu |
| Erreur du compilateur C2156 | pragma doit être à l'extérieur de la fonction |
| Erreur du compilateur C2157 | 'identifier' : doit être déclaré avant d’être utilisé dans une liste pragma |
| Erreur du compilateur C2158 | 'type' : la directive #pragma make_public est actuellement prise en charge uniquement pour les types natifs sans modèle |
| Erreur du compilateur C2159 | plus d'une classe de stockage spécifiée |
| Erreur du compilateur C2160 | '##' ne peut se trouver au début de la définition d'une macro |
| Erreur du compilateur C2161 | '##' ne peut se trouver à la fin de la définition d’une macro |
| Erreur du compilateur C2162 | paramètre formel de macro attendu |
| Erreur du compilateur C2163 | 'function' : non disponible comme fonction intrinsèque |
| Erreur du compilateur C2164 | « fonction » : fonction intrinsèque non déclarée |
| Erreur du compilateur C2165 | 'modifier' : impossible de modifier les pointeurs vers les données |
| Erreur du compilateur C2166 | l-value définit un objet const |
| Erreur du compilateur C2167 | 'function' : paramètres réels de fonction intrinsèque trop nombreux |
| Erreur du compilateur C2168 | 'function' : nombre insuffisant de paramètres réels de fonction intrinsèque |
| Erreur du compilateur C2169 | 'function' : fonction intrinsèque, ne peut pas être définie |
| Erreur du compilateur C2170 | 'identifier' : non déclaré comme fonction, ne peut pas être intrinsèque |
| Erreur du compilateur C2171 | l’opérateur 'operator' ne peut pas être appliqué à un opérande de type 'type' |
| Erreur du compilateur C2172 | 'function' : le paramètre réel n’est pas un pointeur : paramètre number |
| Erreur du compilateur C2173 | 'function' : le paramètre réel n’est pas un pointeur ; nombre de paramètre, nombre de liste de paramètre |
| Erreur du compilateur C2174 | 'function' : le paramètre réel est de type 'void' : paramètre numéro, liste de paramètres numéro |
| Erreur du compilateur C2175 | 'locale' : paramètres régionaux non valides |
| Erreur du compilateur C2176 | une instruction return ne peut pas apparaître dans le gestionnaire d'un bloc d’essai de fonction associé à un constructeur |
| Erreur du compilateur C2177 | constante trop grande |
| Erreur du compilateur C2178 | 'identifier' ne peut pas être déclaré avec le déterminant 'specifier' |
| Erreur du compilateur C2179 | 'type' : un argument d'attribut ne peut pas utiliser de paramètres de type |
| Erreur du compilateur C2180 | l'expression de contrôle dispose du type 'type' |
| Erreur du compilateur C2181 | instruction else sans if correspondant non conforme |
| Erreur du compilateur C2182 | 'identificateur' : cette utilisation de 'void' n’est pas valide |
| Erreur du compilateur C2183 | erreur de syntaxe : unité de traduction vide |
| Erreur du compilateur C2184 | 'type' : type illégal pour l’expression __except |
| Erreur du compilateur C2185 | « identificateur » : allocation basée illégale |
| Erreur du compilateur C2186 | 'operator' : opérande de type 'void' illégal |
| Erreur du compilateur C2187 | erreur de syntaxe : 'token' a été inattendu ici |
| Erreur du compilateur C2188 | « nombre » : trop grand pour un caractère large |
| Erreur du compilateur C2189 | l'attribut 'alignas' ne peut pas être appliqué à un champ de bit, un paramètre de fonction, une déclaration d'exception ou une variable déclarée avec la classe de stockage 'register' |
| Erreur du compilateur C2190 | première liste de paramètres plus longue que la seconde |
| Erreur du compilateur C2191 | seconde liste de paramètres plus longue que la première |
| Erreur du compilateur C2192 | déclaration différente du paramètre 'number' |
| Erreur du compilateur C2193 | 'identifier' : déjà dans un segment |
| Erreur du compilateur C2194 | 'identifier' : est un segment de texte |
| Erreur du compilateur C2195 | 'identifier' : est un segment de données |
| Erreur du compilateur C2196 | valeur de cas 'value' déjà utilisée |
| Erreur du compilateur C2197 | 'function' : trop d’arguments pour l’appel |
| Erreur du compilateur C2198 | 'function' : pas assez d’arguments pour l’appel |
| Erreur du compilateur C2199 | erreur de syntaxe : l'identificateur (' a été trouvé dans une étendue globale (une déclaration était-elle prévue ?) |
Voir aussi
Erreurs et avertissements du compilateur C/C++ et des outils de génération
Erreurs du compilateur C2001 – C3999, C7000 – C7999