Ho file di configurazione che ho includere in tutti i miei file lì mi hanno diverse enumerazioni, ma all'interno di ogni enum ci sono stessi nomi degli elementi ad esempio: config.hC++ come avere lo stesso nome di enum in diversi nomi enum senza errori: ridefinizione; precedente definizione era 'enumeratore'
enum GameObjectType
{
NINJA_PLAYER
};
enum GameObjectTypeLocation
{
NONE,
MASSAGE_ALL, //this is for ComponentMadiator
NINJA_PLAYER
};
Ma quando provo a compilare il progetto con chiamando i enumerazioni con il corretto nome enum
m_pNinjaPlayer = (NinjaPlayer*)GameFactory::Instance().getGameObj(GameObjectType::NINJA_PLAYER);
ComponentMadiator::Instance().Register(GameObjectTypeLocation::NINJA_PLAYER,m_pNinjaPlayer);
sto ottenendo errore di compilazione:
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'
Come posso mantenere nel config.h diverse enumerazioni con nomi diversi MA con gli stessi nomi di elementi?
Grazie non sapevo che C++ 11 può usare la classe nelle enumerazioni – user63898
non sembra funzionare in linux ... –
@ diego.martinez Non dipende dal SO. È una cosa in C++. – juanchopanza