示例代码
sf::Drawable *mDrawables = new sf::Shape(sf::Shape::Circle(-10, -10,5,sf::Color::Green));
Particle particle(mDrawables);
Particle::Particle(sf::Drawable *hum)
{
*mDrawables = *hum;
}
从我做的缩小范围来看,我认为崩溃发生在这里的某个地方。一旦调用构造函数,程序就会崩溃。有谁知道我在做错了什么?任何帮助将不胜感激。
答案 0 :(得分:1)
我没有看到指向指针的指针?
*mDrawables = *hum;
mDrawables是一个指针,但* mDrawables取消引用指针,可能是类不可复制。
可能你应该试试这个
mDrawables = hum;
我也希望从sf::Shape
sf::Drawable
答案 1 :(得分:0)
看起来你用mDrawables
的内容覆盖了mDrawables
的内容(在hum
构造函数中别名为参数Particle
)。< / p>
第*mDrawables = *hum
行应理解为“将hum
的内容分配给mDrawables
的内容”。
很难说这可能导致崩溃的原因;代码示例中没有足够的细节(我不知道复制时Shape
的作用是什么。)
我认为你可能需要在这里重新设计这个设计,但是我不知道你的整体意图是什么,所以在这方面我不能给你任何好的建议。