Maison  >  Article  >  développement back-end  >  Erreur de syntaxe C++ : les membres de l'énumération doivent être uniques, comment dois-je la modifier ?

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

王林
王林original
2023-08-21 23:58:501513parcourir

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!

Déclaration:
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