


Erreur de syntaxe C++ : les identifiants dans les énumérations doivent être des constantes entières, comment la résoudre ?
Lors de la programmation en C++, vous rencontrerez parfois le message d'erreur de syntaxe "Les identifiants dans les énumérations doivent être des constantes entières". Cet article explique les causes de ce problème et les solutions possibles.
Tout d’abord, nous devons clarifier ce qu’est une énumération. En C++, une énumération est un type de données spécial utilisé pour définir une collection de constantes avec des valeurs discrètes. Chaque constante de l'énumération se voit attribuer une valeur entière, la première constante étant par défaut 0 et les constantes restantes incrémentées en séquence. Par exemple :
enum Weekday {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};
Dans le code ci-dessus, Weekday est le nom de ce type d'énumération, lundi, mardi, etc. sont ses constantes membres, et des valeurs entières leur sont attribuées respectivement de 0 à 6.
Cependant, lorsque nous définissons par erreur la valeur d'une constante membre comme une constante non entière lors de la définition d'une énumération, comme une chaîne ou un nombre à virgule flottante, la syntaxe "les identifiants dans l'énumération doivent être des constantes entières" apparaîtra. Message d'erreur. Par exemple :
enum Fruit {Apple = 1, Banana = 2, Orange = "orange"}; //错误!
Dans le code ci-dessus, Orange est défini comme une constante de chaîne, donc une erreur sera signalée lors de la compilation.
Alors, comment résoudre ce problème ? Une solution de contournement simple consiste à spécifier explicitement des valeurs entières pour toutes les constantes membres au lieu d'utiliser la méthode d'incrémentation par défaut. Par exemple :
enum Fruit {Apple = 1, Banana = 2, Orange = 3};
Dans le code ci-dessus, nous spécifions manuellement une valeur entière pour chaque constante membre afin d'éviter les erreurs avec des constantes non entières.
Une autre solution consiste à utiliser une classe enum au lieu d'une énumération normale. Les classes d'énumération sont plus strictes que les énumérations ordinaires et ne permettent pas la conversion implicite de valeurs entières, évitant ainsi les erreurs ci-dessus. Par exemple :
enum class Fruit {Apple = 1, Banana = 2, Orange}; //Orange自动被分配整数值3
Dans le code ci-dessus, nous avons utilisé la classe enum pour définir une énumération de type Fruit, et aucune valeur entière n'a été spécifiée pour Orange, mais la valeur entière 3 lui a quand même été attribuée car il s'agit de la définition du comportement de l'énumération. classe .
En bref, lorsque nous rencontrons l'erreur de syntaxe « les identifiants dans les énumérations doivent être des constantes entières » dans la programmation C++, nous pouvons résoudre ce problème en spécifiant explicitement la valeur entière de la constante membre ou en utilisant une classe d'énumération.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment résoudre l'erreur de syntaxe C++ : « expectedprimary-expressionbefore », « jeton » ? Présentation : Lors de l'écriture de code C++, nous rencontrons parfois diverses erreurs. L'un d'eux est "expression primaire attendue avant", "jeton" (expression primaire manquante avant la virgule). Cette erreur est généralement détectée lors du processus de compilation, elle nous signale qu'un

Comment résoudre l'erreur de syntaxe C++ : 'expectedprimary-expressionbefore'.'token' ? Lors de l’écriture de programmes en C++, nous rencontrons parfois diverses erreurs de syntaxe. L’une des erreurs courantes est « expectedprimary-expressionbefore ». « token ». Lorsque nous utilisons une syntaxe incorrecte pour accéder aux membres d'une classe dans notre code, le compilateur signalera cette erreur.

Comment résoudre l'erreur de syntaxe C++ : 'expectedinitializerbefore'('token' ? Dans la programmation C++, vous rencontrez souvent diverses erreurs de compilation. L'une des erreurs courantes est 'expectedinitializerbefore'('token'. Dans cet article, nous avons la cause de cette erreur sera discuté en détail et une solution sera fournie. Tout d'abord, regardons un exemple simple : #include&l.

Golang est un langage de programmation de plus en plus populaire de nos jours. Il est inévitable que vous rencontriez des erreurs de compilation lors de son utilisation. Parmi eux, une erreur courante est : "undefined:os.Environ". Cet article explique la cause de cette erreur et comment la résoudre. Tout d’abord, comprenons le rôle de la fonction os.Environ. La fonction os.Environ est utilisée pour obtenir les types de tranche de toutes les variables d'environnement sous le système actuel et renvoyer un résultat de tranche de chaîne sous la forme de paires clé-valeur.

Comment résoudre les erreurs de syntaxe C++ : 'expectedprimary-expressionbefore'*'token' Dans le processus d'apprentissage de la programmation C++, nous rencontrons souvent diverses erreurs de syntaxe. L'une des erreurs courantes est 'expectedprimary-expressionbefore'*'token'. Cette erreur se produit généralement lors de l'utilisation de pointeurs, principalement parce que nous utilisons une mauvaise syntaxe quelque part ou que nous oublions

La fonction d'énumération dans PHP8.1 améliore la clarté et la sécurité du type du code en définissant les constantes nommées. 1) Les énumérations peuvent être des entiers, des chaînes ou des objets, améliorant la lisibilité du code et la sécurité des types. 2) L'énumération est basée sur la classe et prend en charge des fonctionnalités orientées objet telles que la traversée et la réflexion. 3) L'énumération peut être utilisée pour la comparaison et l'attribution pour assurer la sécurité du type. 4) L'énumération prend en charge l'ajout de méthodes pour implémenter une logique complexe. 5) La vérification stricte et la gestion des erreurs peuvent éviter les erreurs courantes. 6) L'énumération réduit la valeur magique et améliore la maintenabilité, mais prêtez attention à l'optimisation des performances.

Comment résoudre l'erreur de syntaxe C++ : 'attendu')'avant'&'jeton' ? Dans le processus de programmation C++, diverses erreurs de syntaxe sont souvent rencontrées. L'une des erreurs courantes est : "attendu") "avant" et "jeton". Cette erreur se produit généralement dans la liste des paramètres d'une fonction ou d'une méthode, indiquant que le compilateur ne peut pas comprendre la parenthèse droite manquante avant une variable ou un type. Ci-dessous, je vais détailler comment résoudre cette erreur et fournir du code

Comment résoudre l'erreur de syntaxe C++ : 'expectedunqualified-idbefore'<'token' ? Lors du développement du C++, nous rencontrons souvent diverses erreurs. L'une des erreurs courantes est "expectedunqualified-idbefore" < "token". Cette erreur signifie généralement qu'un identifiant manque quelque part, mais que le compilateur a trouvé le symbole '<'. Ce genre d'erreur
