Исходя из опыта 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 значение enum равное Init
или что-то подобное из моей функции WinMain
. Я хочу также иметь возможность читать его из других областей.
Я получаю ошибку ...
expected primary-expression before '.' token
Если я пытаюсь использовать core.gameMode = Core::GAME_MODE.INIT;
, то получаю ту же ошибку.
Меня не смущают лучшие практики, так как я просто пытаюсь получить общее представление о передаче переменных в C ++ между файлами. Я позабочусь о том, чтобы переменные были защищены и аккуратно спрятаны позже, как только я привыкну к гибкости синтаксиса.
Если я правильно помню, C # позволил мне использовать Enums из других классов, и все, что мне нужно было сделать, это что-то вроде Core.ENUMNAME.ENUMVALUE
.
Я надеюсь, что то, что я хочу сделать, ясно: \ Поскольку я понятия не имею, что такое правильная терминология.