Maison > développement back-end > C++ > le corps du texte

Erreur de syntaxe C++ : les membres de l'énumération doivent être uniques, comment dois-je la modifier ?

王林
Libérer: 2023-08-21 23:58:50
original
1512 Les gens l'ont consulté

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
};
Copier après la connexion

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
};
Copier après la connexion

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;
Copier après la connexion

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
};
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal