namespace, enum et librairie
Bonjour,
J'utilise une librairie qui possède une liste d'enum inclus dans un namespace :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| namespace lib{
enum ProcessingState {
ProcessingStateAsked = 0,
ProcessingStateProcessing = 1,
...
};
enum Scenario {
ScenarioS1 = 1,
ScenarioS2 = 2,
...
};
} |
Dans mon code j'ai aussi une enum qui porte le même nom qu'une enum de la librairie:
Code:
1 2 3 4 5
| enum Scenario {
S1 = 1,
S2 = 2,
...
}; |
Cette enum n'est pas inclus dans un namespace.
Le problème arrive quand j'inclus ma librairie à l'endroit où j'utilise mon enum:
Code:
1 2 3 4 5 6 7
| #include "scenario.h" //<-- contient mon enum Scenario
#include <lib.h> //<-- contient l'enum de la librairie Scenario
void maFonction(Scenario scenar) //Je souhaite utilise mon enum Scenario
{
...
} |
Le compilateur me dit :
erreur : reference to 'Scenario' is ambiguous
Je pensais que le namespace de la librairie empêcherai le problème
Quelle est la meilleure méthode pour éviter ce genre de problème ?
Suis-je obliger d'ajouter une namespace à mon enum et de préfixer chaque appelle de l'enum (méthode que j'aimerai éviter car la librairie possède déjà son namespace) ?