Partager via


Erreurs du compilateur C2300 à C2399

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 C2300 'class' : n’a pas de destructeur appelé '~class'
Erreur du compilateur C2301 la partie gauche de '->~identifier' doit pointer vers un class/struct/union
Erreur du compilateur C2302 la partie gauche de '.~identifier' doit être de type classe/struct/union
Erreur du compilateur C2303 Impossible d’utiliser la gestion structurée des exceptions dans une coroutine
Erreur du compilateur C2304 'keyword' ne peut pas être utilisé à l’intérieur d’un bloc d’interception
Erreur du compilateur C2305 'file' ne contient pas d’informations de débogage pour ce module
Erreur du compilateur C2306 'file' ne contient pas les informations de débogage les plus récentes pour ce module
Erreur du compilateur C2307 pragma directive doit être déplacée en dehors de la fonction si la compilation incrémentielle est activée
Erreur du compilateur C2308 concaténation de chaînes incompatibles
Erreur du compilateur C2309 le gestionnaire de l’interception attendait une déclaration d’exception entre parenthèses
Erreur du compilateur C2310 les gestionnaires des interceptions doivent spécifier un seul type
Erreur du compilateur C2311 'type' : est intercepté par '...' sur la ligne number
Erreur du compilateur C2312 'type1' : est intercepté par 'type2' sur la ligne number
Erreur du compilateur C2313 'type1' : est intercepté par référence ('type2') sur la ligne number
Erreur du compilateur C2314 le mot clé 'keyword1' est déconseillé : utilisez plutôt 'keyword2'
Erreur du compilateur C2315 'type1' : référence interceptée par 'type2' sur la ligne number
Erreur du compilateur C2316 'type' : ne peut pas être intercepté en tant que destructeur et/ou le constructeur de copie est inaccessible ou supprimé
Erreur du compilateur C2317 bloc 'try' commençant ligne 'number' n’a pas de gestionnaires de l’interception
Erreur du compilateur C2318 aucun bloc try associé à ce gestionnaire catch
Erreur du compilateur C2319 'try/catch' doit être suivi(e) d’une instruction composée. Accolade '{' manquante
Erreur du compilateur C2320 s’attendait à ce que ':' suive le spécifieur d’accès 'specifier'
Erreur du compilateur C2321 'identifier' est un mot clé qui ne peut pas être utilisé dans ce contexte
Erreur du compilateur C2322 'identifier' : adresse de dllimport 'identifier' n’est pas statique
Erreur du compilateur C2323 'identifier' : les fonctions non-membres new ou delete d’un opérateur ne peuvent pas être déclarées statiques ou dans un espace de noms autre que l’espace de noms global
Erreur du compilateur C2324 'identifier' : inattendu à droite de '::~'
Erreur du compilateur C2325 'type1' : type inattendu à droite de '->~' : 'type2' attendu
Erreur du compilateur C2326 'declarator' : la fonction ne peut pas accéder à 'identifier'
Erreur du compilateur C2327 'identifier' : n’est pas un nom de type, statique ou énumérateur
Erreur du compilateur C2328 'keyword' : le mot clé n’est pas encore pris en charge
Erreur du compilateur C2329 'identifier' : __ptr64 non disponible pour les pointeurs vers les fonctions
Erreur du compilateur C2330 'implementation_key( )' n’est valide que dans une région limitée par #pragma start_map_region/stop_map_region
Erreur du compilateur C2331 l’accès à 'identificateur' maintenant défini comme 'accessibility1', précédemment il a été défini comme 'accessibility2'
Erreur du compilateur C2332 'typedef' : nom de balise manquant
Erreur du compilateur C2333 'function' : erreur dans la déclaration de la fonction ; corps de la fonction ignoré
Erreur du compilateur C2334 jetons inattendus avant 'token' ; corps apparent de la fonction ignoré
Erreur du compilateur C2335 'identifier' : impossible de définir un type dans une liste de paramètres de fonction
Erreur du compilateur C2336 'type' : type non conforme
Erreur du compilateur C2337 'attribute' : attribut introuvable
Erreur du compilateur C2338 (message d’erreur du fournisseur externe)
Erreur du compilateur C2339 'identifier' : type non conforme dans un IDL incorporé
Erreur du compilateur C2340 'identifier' : 'static' peut uniquement être utilisé dans une définition de classe
Erreur du compilateur C2341 'section' : le segment doit être défini à l’aide de #pragma data_seg, code_seg ou section avant d’être utilisé
Erreur du compilateur C2342 erreur de syntaxe : conflit entre qualificateurs de type
Erreur du compilateur C2343 'section' : conflit entre les attributs de la section
Erreur du compilateur C2344 align(number) : l’alignement doit être une puissance de deux
Erreur du compilateur C2345 align(number) : valeur d’alignement non conforme
Erreur du compilateur C2346 'function' ne peut pas être compilé comme natif : 'explanation'
Erreur du compilateur C2347 Obsolète.
Erreur du compilateur C2348 'type' : n’est pas un agrégat de style C, ne peut pas être exporté dans un IDL incorporé
Erreur du compilateur C2349 'function' ne peut pas être compilé comme code managé : 'explanation' ; utilisez #pragma unmanaged à la place
Erreur du compilateur C2350 'identifier' n’est pas un membre static
Erreur du compilateur C2351 syntaxe obsolète d'initialisation d'un constructeur C++
Erreur du compilateur C2352 'identifier' : appel non conforme d’une fonction membre non static
Erreur du compilateur C2353 la spécification de l’exception n’est pas autorisée
Erreur du compilateur C2354 Obsolète.
Erreur du compilateur C2355 'this' : ne peut être référencé qu’à l'intérieur de fonctions membres non static ou d'initialiseurs de données membres non static
Erreur du compilateur C2356 un segment d’initialisation ne doit pas changer durant une unité de traduction
Erreur du compilateur C2357 'identifier' : doit être une fonction du type 'type'
Erreur du compilateur C2358 'identifier' : une propriété statique ne peut pas être définie en dehors d’une définition de classe
Erreur du compilateur C2359 Obsolète.
Erreur du compilateur C2360 l’initialisation de 'identifier' est ignorée par l’étiquette 'case'
Erreur du compilateur C2361 l’initialisation de 'identifier' est ignorée par l’étiquette 'default'
Erreur du compilateur C2362 l’initialisation de 'identifier' est ignorée par 'goto label'
Erreur du compilateur C2363 une fonction de limite numérique intrinsèque de compilateur nécessite un argument de littéral de chaîne
Erreur du compilateur C2364 'type' : type d’attribut personnalisé non conforme
Erreur du compilateur C2365 'member1' : redéfinition ; la précédente définition était 'member2'
Erreur du compilateur C2366 'identifier' : redéfinition ; spécificateurs implementation_key différents
Erreur du compilateur C2367 Obsolète.
Erreur du compilateur C2368 'identifier' : redéfinition ; spécificateurs d’allocation différents
Erreur du compilateur C2369 'identifier' : redéfinition ; indices différents
Erreur du compilateur C2370 'identifier' : redéfinition ; classe de stockage différente
Erreur du compilateur C2371 'identifier' : redéfinition ; types de base différents
Erreur du compilateur C2372 'identifier' : redéfinition ; types d’indirection différents
Erreur du compilateur C2373 'identifier' : redéfinition ; modificateurs de type différents
Erreur du compilateur C2374 'identifier' : redéfinition ; initialisation multiple
Erreur du compilateur C2375 'identifier' : redéfinition ; liaison différente
Erreur du compilateur C2376 'identifier' : redéfinition ; allocation de base différente
Erreur du compilateur C2377 'identifier' : redéfinition ; un typedef ne peut pas être surchargé avec un autre symbole
Erreur du compilateur C2378 'identifier' : redéfinition ; un symbole ne peut pas être surchargé avec un typedef
Erreur du compilateur C2379 le paramètre formel number a un type différent lorsqu’il est promu
Erreur du compilateur C2380 type(s) précédant 'identifier' (constructeur avec type de retour ou redéfinition non conforme d’un nom de classe actif ?)
Erreur du compilateur C2381 'identifier' : redéfinition. '__declspec(noreturn)' ou '[[noreturn]]' est différent
Erreur du compilateur C2382 'identifier' : redéfinition ; spécifications des exceptions différentes
Erreur du compilateur C2383 'identifier' : les arguments par défaut ne sont pas autorisés sur ce symbole
Erreur du compilateur C2384 'member' : impossible d’appliquer thread_local ou __declspec(thread) à un membre d’une classe managée/WinRT
Erreur du compilateur C2385 accès ambigu de 'member'
Erreur du compilateur C2386 'identifier' : un symbole avec ce nom existe déjà dans la portée actuelle
Erreur du compilateur C2387 'identifier' : classe de base ambiguë
Erreur du compilateur C2388 'identifier' : un symbole ne peut pas être déclaré avec __declspec(appdomain) et __declspec(process)
Erreur du compilateur C2389 'operator' : opérande 'nullptr' non conforme
Erreur du compilateur C2390 'identifier' : classe de stockage incorrecte 'specifier'
Erreur du compilateur C2391 'identifier' : 'friend' ne peut pas être utilisé dans la définition d'un type
Erreur du compilateur C2392 'member1' : les types de retour covariants ne sont pas pris en charge dans les types managés/WinRT, dans le cas contraire, 'member2' est substitué
Erreur du compilateur C2393 'symbol' : un symbole par appdomain ne peut pas être alloué dans le segment 'segment'
Erreur du compilateur C2394 'type::operator operator' : opérateur CLR/WinRT non valide. Au moins l’un des paramètres doit avoir les types suivants : 'T^', 'T^%', 'T^&', où T = 'type'
Erreur du compilateur C2395 'type::operator operator' : opérateur CLR/WinRT non valide. Au moins l’un des paramètres doit avoir les types suivants : 'T', 'T%', 'T&', 'T^', 'T^%', 'T^&', où T = 'type'
Erreur du compilateur C2396 'type1::operator type2' : la fonction de conversion CLR/WinRT définie par l’utilisateur n'est pas valide. La conversion doit être opérée depuis ou vers : 'T^', 'T^%', 'T^&', où T = 'type1'
Erreur du compilateur C2397 la conversion de 'type1' en 'type2', nécessite une conversion restrictive
Erreur du compilateur C2398 Élément 'number' : la conversion de 'type1' en 'type2' nécessite une conversion étroite
Erreur du compilateur C2399 Obsolète.

Voir aussi

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