为什么我的程序在输入main()之前停止工作

Why does my program stop working before entering main()

本文关键字:停止工作 main 我的 程序 输入 为什么      更新时间:2023-10-16

所以我今天醒了,打开了我的项目并试图运行它 - 运气就可以了,它甚至在输入主要功能之前就停止了。

但是,它昨晚起作用,但现在不起作用。我没有做任何改变它的事情。

这是source.cpp

#include <SFML/Graphics.hpp>
#include "Game.h"
#include <iostream>
using namespace std;

int main()
{
    string name;
    cout << "alupigus";
    name = "Dino Attack";
    Game game(800, 800, name);
    game.loadAssets();
    game.Run();
    return 0;
}

当我编译并在控制台中运行它时,除了黑屏外,它没有显示任何内容。我不能输入任何内容,而来自SFML的RenderWindow也不会显示。

我只使用SFML作为外部库,但我没有修改任何链接,没有移动文件等。

您没有冲洗流。您的代码应该看起来像:

#include <SFML/Graphics.hpp>
#include "Game.h"
#include <iostream>
using namespace std;

int main()
{
    string name;
    cout << "alupigus" << endl;
    name = "Dino Attack";
    Game game(800, 800, name);
    game.loadAssets();
    game.Run();
    return 0;
}

另外,请考虑删除 using namespace std;,因为这是大型项目中的不良习惯。阅读此

好吧,我基本上解决了问题。出于某种原因,这阻止了该程序正常运行,尽管我没有触摸代码一周

x = Board::dinozaurPoz;
        x.x = rand() % 400 + 200;
        while (Board::matrix[(int)x.y / 40][(int)x.x / 40] != 1) {
            x.x = rand() % 400 + 200;

循环不会无限期地运行,所以我真的不知道这里有什么问题。也许更有经验的人可以就我做错了什么建议。