虚惊!(阅读编辑)
我正在尝试使用 SDL 制作一个小游戏。创建实体时,它的图像应该增加引用计数,这没问题。问题出现在使用“SDL_FreeSurface(image)”(减少它)的时候,这应该发生在实体本身内,所以我试图创建自己的析构函数,作为测试它是否被调用我添加了一个 cout,但由于某种原因它被称为每个刻度?它没有删除任何东西,所以我想当我让它工作时我还必须处理所有实体值(以为我只需要处理特殊情况,比如这个)。
Entity::~Entity()
{
cout << "I'm deleted" << endl;
//SDL_FreeSurface(image);
}
如果应该一直调用析构函数(?)为什么会这样?
编辑我刚刚意识到,在每个滴答声中,我都使用了一些临时实体,可能是那些被解构的实体,抱歉,请随意锁定它。