@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
.
Я надеюсь, что то, что я хочу сделать, ясно: \ Поскольку я понятия не имею, что такое правильная терминология.