1

こんにちは。

私は 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 の戻り値の型が GameWindow ではなく Int である必要があるというエラーが発生し、これらすべてで完全に失われました。問題を単純化するために「SetRunning」をコメントとして入れようとしましたが、代わりに「GetRunning」で同じことが発生しました。簡単に修正できる本当にばかげた間違いだと思いますが、それでも見つけられません。

お時間をいただきありがとうございます。どんな種類の助けにも感謝します。

4

2 に答える 2

0

ない ; クラス定義 { };

このため、ファイルをプログラムに含めると、コンパイラはクラスの終わりを見つけられなかったため、main の戻り値の型は GameWindow ではなく int である必要があると言われています

于 2013-09-06T13:21:53.573 に答える