Bonjour,

J'aimerais « dupliquer » une enum.
Naïvement, j'ai écrit ce code, qui ne fonctionne pas.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
enum uneEnum {A, B, C};
 
class maClasse
{
 
  public:
    typedef uneEnum monEnum;
 
};
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class uneClasse
{
 
  public:
    enum uneEnum {A, B, C};
 
};
 
class maClasse
{
 
  public:
    typedef uneClasse::uneEnum monEnum;
 
};
En fait, le type maClasse::monEnum semble bien exister, mais si j'essaie quelque chose du genre : "maClasse::A", j'ai un message d'erreur :
« A » n'est pas membre de « maClasse ».
Quelqu'un aurait des suggestions ?

Ah oui, une dernière chose.
Je n'ai pas de contrôle sur les fichiers dans lesquels sont définies les enums.
[edit]Quant aux enums, elles sont générées automatiquement, et donc leur contenu n'est pas fixe (même s'il est facilement déterminable).[/edit]
J'aimerais faire une sorte de « façade », qui soit utilisable que l'enum soit déclarée dans l'espace de nom global ou à l'intérieur d'une autre classe.