Bonjour à tous,

Considérons cette énumération:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
enum MonEnum
{
    ValeurA,
    ValeurB,
    ValeurC,
    Valeur1,
    Valeur2,
    Valeur3
};
J'ai une fonction qui prend un entier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
void MaFonction(unsigned int uiEntier)
{
    MonEnum eValue;
    switch(uiEntier)
    {
        case 1:
           eValue = Valeur1; break;
        case 2:
           eValue = Valeur2; break;
        case 2:
           eValue = Valeur2; break;
    }
}
Que j'aimerai transformer en
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
void MaFonction(unsigned int uiEntier)
{
     MonEnum eValue = Valeur1 + (uiEntier - 1);
}

Mais le compilateur m'indique qu'il ne peut pas transformer un unsigned int en MonEnum.

Que dois-je faire ?


Merci beaucoup


A bientôt