C++帮助编写一个带有头文件声明的类

标签 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;
}

这是我的标题:

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/

相关文章:

c++ - 在 boost::statecart 中记录状态变化

Python:是否可以访问 `finally` 子句中的返回值?

c - 为什么不允许多次定义 C 结构体的成员?

visual-studio-2010 - 在 Visual Studio 2010 中安装 opencv 2.4.3

c++ - 返回一个类的引用

c++ - 在 vector 中找到第一个缺失的元素

c++ - cpp dll char指针分配,写入内存访问冲突

c - 线程程序和结构将值更改为垃圾

bash - bash 有赋值返回码吗?

c++ - 为什么要先包含相关标题?