How do I use the Enum value from a class in another part of code?

Posted by ChiggenWingz on Stack Overflow See other posts from Stack Overflow or by ChiggenWingz
Published on 2010-12-22T06:34:53Z Indexed on 2010/12/22 6:54 UTC
Read the original article Hit count: 167

Filed under:
|
|

Coming from a C# background from a night course at a local college, I've sort of started my way in C++. Having a lot pain getting use to the syntax. I'm also still very green when it comes to coding techniques.

From my WinMain function, I want to be able to access a variable which is using an enum I declared in another class.

(inside core.h)
class Core
{
    public:
    enum GAME_MODE
    {
        INIT,
        MENUS,
        GAMEPLAY
    };
    GAME_MODE gameMode;

    Core();
    ~Core();
    ...OtherFunctions();
};

(inside main.cpp)
Core core;
int WINAPI WinMain(...)
{
    ... startup code here...

    core.gameMode = Core.GAME_MODE.INIT;

    ...etc...
}

Basically I want to set that gameMode to the enum value of Init or something like that from my WinMain function. I want to also be able to read it from other areas.

I get the error...

expected primary-expression before '.' token

If I try to use core.gameMode = Core::GAME_MODE.INIT;, then I get the same error.

I'm not fussed about best practices, as I'm just trying to get the basic understanding of passing around variables in C++ between files. I'll be making sure variables are protected and neatly tucked away later on once I am use to the flexibility of the syntax.

If I remember correctly, C# allowed me to use Enums from other classes, and all I had to do was something like Core.ENUMNAME.ENUMVALUE.

I hope what I'm wanting to do is clear :\ As I have no idea what a lot of the correct terminology is.

© Stack Overflow or respective owner

Related posts about c++

Related posts about class