C++帮助在头文件上编写带声明的类

kin*_*ade 1 c++ return-value header-files

好吧,你好.

我是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;
}
Run Code Online (Sandbox Code Playgroud)

这是我的标题:

class GameWindow
{
private:
    bool _running;
    //GLFWwindow* _window;

public:

    void SetRunning(bool new_val);
    bool GetRunning();


    GameWindow(bool running);

    void Draw();
    void Update();
}
Run Code Online (Sandbox Code Playgroud)

和我的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()
{

}
Run Code Online (Sandbox Code Playgroud)

在完成所有这些工作的同时,我发现很难找到Visual Studio拒绝编译此代码的原因.它引发了关于'SetRunning'如何重载一个函数的错误,该函数仅在返回值上有所不同,并且main的返回类型应该是Int而不是GameWindow,并且所有这些我只是完全丢失了.试图将"SetRunning"作为评论来简化问题,但相反,它在"GetRunning"上提出了相同的内容.我猜这是一个很容易修复的愚蠢的错误,但仍然无法找到它.

感谢您的时间,我将感谢任何帮助.

Mah*_*esh 8

;在类定义结束时丢失.

class GameWindow
{
   // .....

}; // Missing semi-colon
Run Code Online (Sandbox Code Playgroud)