【发布时间】:2011-05-29 06:00:33
【问题描述】:
我在当地大学的夜间课程中获得了 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 这样的东西。
我希望我想要做的很清楚:\因为我不知道很多正确的术语是什么。
【问题讨论】: