试图销毁SF ::字体时的细分故障

Segmentation fault when trying to destroy sf::Font

本文关键字:细分 故障 字体 SF      更新时间:2023-10-16

我正在使用SFML软件包,并在试图关闭窗口/程序时会收到分段故障。我在代码中找到了导致分割故障的行,这是我尝试销毁用于在SFML窗口中绘制文本的sf::Font时。

线简单:

delete button_font;sf::Font*类型)

我从SFML文档中读到的内容,sf::Font类的确具有破坏者。我还在定义字体对象后立即对其进行了测试,它按预期破坏了自身。

字体由sf::Font::loadFromFile(~)加载。在某些类用作游戏状态和菜单的类中,它通过参考用作参数。当我尝试删除字体时,几个sf::Text对象使用它?

时,可能是一个问题。

指针和动态内存是C 中棘手的事情之一。有很多失败的方法,我的猜测是您首先删除了您没有使用new创建的指针,或者也许您将其删除了两次,因为两个对象都有指针。

May 是您直接问题的一个很好的解决方案,但 real 解决方案是使用智能指针。