Как мне использовать значение Enum из класса в другой части кода?

Исходя из опыта работы с C # на вечернем курсе в местном колледже, я вроде как начал свой путь с C ++. Привыкать к синтаксису очень больно. Я все еще очень экологичен, когда дело доходит до методов кодирования.

С помощью моей функции WinMain я хочу иметь доступ к переменной, которая использует перечисление, которое я объявил в другом классе.

(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...
}

] В основном я хочу установить для этого gameMode значение перечисления Init или что-то подобное из моей функции WinMain . Я хочу также иметь возможность читать его из других областей.

Я получаю сообщение об ошибке ...

expected primary-expression before '.' token

Если я попытаюсь использовать core.gameMode = Core :: GAME_MODE.INIT; , тогда Я получаю ту же ошибку.

Я не беспокоюсь о передовых методах, так как я просто пытаюсь получить базовое представление о передаче переменных в C ++ между файлами. Я позабочусь о том, чтобы переменные были защищены и аккуратно спрятаны позже, когда я использую гибкость синтаксиса.

Если я правильно помню, C # позволил мне использовать перечисления из других классов, и все, что мне нужно было сделать было что-то вроде Core.ENUMNAME.ENUMVALUE .

Надеюсь, то, что я хочу сделать, ясно: \ Поскольку я понятия не имею, что такое правильная терминология.

36
задан Étienne 13 March 2014 в 08:19
поделиться