Problem mit enum



  • Hallo,

    ich hab Folgendes:

    enum eMode { eGameSetup, eGameTitle, eGameMenu, eGameLoad, eGamePlay, eGameNewRound, eGameDie, eGameWin, eGameExit };
    eMode g_eGameMode = eGameSetup;
    

    Dies steht in einer cpp Datei bei mir. Nun muss ich aber von jeder Stelle g_GameMode ändern können. Drum hab ich folgendes probiert:

    extern enum eMode;
    extern eMode g_eGameMode;
    

    Das ganze steht in einer .h Datei die überall eingefügt wird.
    In einer anderen cpp Datei wollt ich dann g_eGameMode z.B. auf eGameMenu setzen. Doch dann bekam ich nen Fehler.

    error C2065: 'eGameMenu': nichtdeklarierter Bezeichner
    

    Ja und jetzt hab ich einfach nichts mehr dazu gefunden, wie man das denn löst.
    Ich hoff mal das mir jemand zeigen kann wie das richtig gehört oder nen Link wo ich was darüber nachlesen kann.

    Gruß
    CHAOSKING



  • CHAOSKING schrieb:

    enum eMode { eGameSetup, eGameTitle, eGameMenu, eGameLoad, eGamePlay, eGameNewRound, eGameDie, eGameWin, eGameExit };
    

    Das gehört ins Headerfile.

    extern enum eMode;
    

    Das ist Unfug und kann weg, wenn die Enumeration korrekt im Header steht.



  • Ah danke.
    Ich depp hab da anscheined als ich das da so in etwa probiert hatte das g_eGameMode falsch rein. Auf jeden Fall kam vorgestern dann ne Meldung von wegen mehrfacher definierung oder so.


Anmelden zum Antworten