Enumerations: Where to declare them?

Hello!
I am yet another one of those fools who is trying to learn enough C++
in there spare time to someday get a job in Game AI :P To start this challenge I am working my way through a textbook.

Anyway it says that I should use an enumeration for the possible locations of one of the characters in a game which seems very reasonable to me.

What I am not so sure of is where I should define the enums. One way would be to
do it inside the character class. But the character "states" are seperate classes which need to test location (if character.location==bank, etc). Plus I might want to add different characters that use the same locations later.

This makes me think that I have to define it globally or as a seperate header file. But if I understood correctly global variables are to be avoided in general and too many header files is a bad thing.

Any ideas?

Sorry if this was a bit wordy, hope it makes sense, its more of a conceptual question than a technical one.
enum Room { Kitchen, Conservatory, Study, BilliardRoom, Ballroom, Lounge, Hall, Library, DiningHall };

This isn't a variable. It's a type declaration and some constants, as such they aren't subject to the same taboo as actual variables at global scope. Where it ultimately belongs can't really be said with the context given, but I wouldn't worry to much about making the enumeration global for the time being.
Thats brilliant! Thank you very much cire!
Topic archived. No new replies allowed.