首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问冲突SFML

访问冲突SFML
EN

Stack Overflow用户
提问于 2014-12-29 07:05:27
回答 1查看 1.7K关注 0票数 2

我已经开始使用SFML库为大学课程创建一个图形化的战舰游戏,目前我正在创建4个矩形来在窗口周围创建一个边框(如果有更简单的方法,请告诉我,但我想继续4个矩形的想法)

我的问题是,我在屏幕上绘制了第一个矩形,并对其进行了调试,它工作得很好,但随后我绘制了第二个矩形,它抛出了以下错误

代码语言:javascript
复制
Unhandled exception at 0x00656A0E (sfml-graphics-d-2.dll) in Battleships.exe: 0xC0000005: Access violation reading location 0x00000004

下面是我的代码:

矩形被称为a和b(抱歉,命名混乱)

代码语言:javascript
复制
#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
#include <iostream>

int main()
{
    sf::RenderWindow menu(sf::VideoMode(800, 600), "SFML works!");

    sf::RectangleShape a(sf::Vector2f(800, 20));
    a.setFillColor(sf::Color::White);

    sf::RectangleShape b(sf::Vector2f(20, 600));
    b.setFillColor(sf::Color::White);

    sf::Font font;
    if(!font.loadFromFile("arial.ttf"))
    {
        std::cout << "ERROR: Cannot load font" << std::endl;
    }

    sf::Text text("TEST", font, 80);
    text.setPosition(sf::Vector2f(400/2.0f,300/2.0f));
    text.setColor(sf::Color::White);

    menu.clear();
    menu.draw(a);
    menu.draw(b);
    menu.display();
}
EN

回答 1

Stack Overflow用户

发布于 2014-12-29 07:22:44

代码语言:javascript
复制
    sf::Font font;
    if(!font.loadFromFile("arial.ttf"))
    {
        std::cout << "ERROR: Cannot load font" << std::endl;
    }

您需要在这一点上停止,即从main返回。Font没有加载,然后在以后使用它,导致空指针取消引用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27681530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档