@ChiggenWingz: Хорошее наблюдение - строго типизированные перечисления C ++ 0x помогут в этом отношении (и я обновил ответ, чтобы обсудить это).

я из 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 значение enumInit или что-то подобное от моегоWinMain функция. Я хочу также иметь возможность читать его из других областей.

Я получаю ошибку ...

expected primary-expression before '.' token

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

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

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

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

Ответы на вопрос(1)

Ваш ответ на вопрос