У меня есть файл конфигурации, который я включаю во все мои файлы там у меня разные перечисления, но внутри каждого перечисления есть одинаковые имена элементов например: config.h
enum GameObjectType
{
NINJA_PLAYER
};
enum GameObjectTypeLocation
{
NONE,
MASSAGE_ALL, //this is for ComponentMadiator
NINJA_PLAYER
};
Но когда я пытаюсь скомпилировать проект с вызовом перечислений с правильным именем перечисления
m_pNinjaPlayer = (NinjaPlayer*)GameFactory::Instance().getGameObj(GameObjectType::NINJA_PLAYER);
ComponentMadiator::Instance().Register(GameObjectTypeLocation::NINJA_PLAYER,m_pNinjaPlayer);
Я получаю ошибку компиляции:
error C2365: 'NINJA_PLAYER' : redefinition; previous definition was 'enumerator' (..\Classes\GameFactory.cpp)
2> d:\dev\cpp\2d\cocos2d-x-3.0\cocos2d-x-3.0\projects\lettersfun\classes\config.h(22) : see declaration of 'NINJA_PLAYER'
Как я могу сохранить в config.h несколько перечислений с разными именами, но с такими же именами элементов?