嗯,你好。
我是 C++ 的新手,我遇到了一些我不确定是什么原因导致的问题。 这是我的主要内容:
#include "GameWindow.h"
int main(void)
{
GameWindow * game_window = new GameWindow(true);
/* loop the game */
while (game_window->GetRunning())
{
// update
game_window->Update();
// draw
game_window->Draw();
}
delete game_window;
return 0;
}
这是我的标题:
class GameWindow
{
private:
bool _running;
//GLFWwindow* _window;
public:
void SetRunning(bool new_val);
bool GetRunning();
GameWindow(bool running);
void Draw();
void Update();
}
和我的 C++ 文件:
#include "GameWindow.h"
void GameWindow::SetRunning(bool new_val)
{
_running = new_val;
}
bool GameWindow::GetRunning()
{
return _running;
}
GameWindow::GameWindow(bool running) :
_running(running)
{
}
void GameWindow::Draw()
{
}
void GameWindow::Update()
{
}
虽然经历了所有这些,但我发现很难找到 Visual Studio 拒绝编译此代码的原因。 它引发了有关“SetRunning”如何重载仅返回值不同的函数的错误,并且 main 的返回类型应该是 Int 而不是 GameWindow,所有这些我完全迷失了。 试图将“SetRunning”作为注释来简化问题,但它却在“GetRunning”上提出了相同的问题。 我猜这是一个非常愚蠢的错误,很容易修复,但仍然找不到。
感谢您抽出宝贵时间,我将不胜感激。
最佳答案
类定义末尾缺少 ;
。
class GameWindow
{
// .....
}; // Missing semi-colon
关于C++帮助编写一个带有头文件声明的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18658168/