Исходя из фона С# из ночного курса в местном колледже, я как-то начал свой путь на С++. Имея много боли, привыкающих к синтаксису. Я также все еще очень зеленый, когда речь идет о методах кодирования.
Из моей функции 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;
, тогда я получаю ту же ошибку.
Я не спорю о лучших практиках, так как я просто пытаюсь понять базовое понимание передачи переменных в С++ между файлами. Я буду следить за тем, чтобы переменные были защищены и аккуратно спрятаны позже, когда я использую гибкость синтаксиса.
Если я правильно помню, С# разрешил мне использовать Enums из других классов, и все, что мне нужно было сделать, это что-то вроде Core.ENUMNAME.ENUMVALUE
.
Я надеюсь, что то, что я хочу сделать, ясно:\Поскольку я понятия не имею, что такое правильная терминология.