Maison >développement back-end >C++ >Erreur de syntaxe C++ : les membres de l'énumération doivent être uniques, comment dois-je la modifier ?
Lorsque nous écrivons des programmes C++, nous rencontrons parfois le message d'erreur suivant :
"Erreur de syntaxe C++ : les membres de l'énumération doivent être uniques"
En effet, dans le type énumération, le nom du membre de l'énumération doit être Unique et ne peut pas être répété.
Alors, comment corriger cette erreur ? Plusieurs solutions sont proposées ci-dessous.
Méthode 1 : Modifier manuellement les noms des membres de l'énumération
La méthode la plus simple consiste à modifier manuellement les noms des membres de l'énumération pour garantir qu'ils sont uniques. Par exemple, remplacez les noms de membres en double par des noms différents.
Par exemple, si nous définissons un type d'énumération qui contient deux membres avec le même nom de membre, comme indiqué ci-dessous :
enum Fruit { Banana, Apple, Strawberry, Apple };
Ensuite, le compilateur affichera "Erreur de syntaxe C++ : les membres de l'énumération doivent être uniques de". Nous pouvons changer l'un des noms de membres en un nom différent comme celui-ci :
enum Fruit { Banana, Apple, Strawberry, Orange };
Cela corrigera cette erreur.
Méthode 2 : utilisez typedef pour définir un nouveau type d'énumération
Si nous ne voulons pas modifier le type d'énumération d'origine, nous pouvons également utiliser typedef pour définir un nouveau type d'énumération et renommer le type d'énumération d'origine.
Par exemple, nous pouvons renommer le type d'énumération Fruit ci-dessus en FruitType :
typedef enum { Banana, Apple, Strawberry, Apple } FruitType;
De cette façon, FruitType peut être utilisé dans le programme pour remplacer le type d'énumération Fruit d'origine.
Méthode 3 : Utiliser des classes d'énumération
C++11 introduit une nouvelle fonctionnalité de la classe enum (classe enum), qui peut limiter l'espace de noms des membres de l'énumération lors de la définition des types d'énumération, afin d'éviter les conflits de noms.
Par exemple, nous pouvons utiliser la classe enum pour définir un type d'énumération nommé Fruit et limiter l'espace de noms de ses membres à Fruit :
enum class Fruit { Banana, Apple, Strawberry, Apple };
A ce moment, si nous définissons deux membres avec le même nom, le compilateur signalera une erreur , au lieu d'un avertissement.
Résumé :
En C++, les membres de l'énumération doivent être uniques et ne peuvent pas être répétés. Si le compilateur affiche « Erreur de syntaxe C++ : les membres de l'énumération doivent être uniques », vous pouvez modifier manuellement les noms des membres de l'énumération, utiliser typedef pour définir un nouveau type d'énumération ou utiliser une classe d'énumération pour résoudre le problème. La méthode d'utilisation des classes d'énumération est une nouvelle fonctionnalité introduite dans C++ 11, qui peut efficacement éviter le problème des conflits de noms des membres de l'é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!