指向指针的指针导致崩溃

时间:2013-04-15 17:55:50

标签: c++ pointers constructor crash

示例代码

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;
}

从我做的缩小范围来看,我认为崩溃发生在这里的某个地方。一旦调用构造函数,程序就会崩溃。有谁知道我在做错了什么?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

我没有看到指向指针的指针?

*mDrawables = *hum;

mDrawables是一个指针,但* mDrawables取消引用指针,可能是类不可复制。

可能你应该试试这个

mDrawables = hum;

我也希望从sf::Shape

继承的sf::Drawable

答案 1 :(得分:0)

看起来你用mDrawables的内容覆盖了mDrawables的内容(在hum构造函数中别名为参数Particle)。< / p>

*mDrawables = *hum行应理解为“将hum的内容分配给mDrawables的内容”。

很难说这可能导致崩溃的原因;代码示例中没有足够的细节(我不知道复制时Shape的作用是什么。)

我认为你可能需要在这里重新设计这个设计,但是我不知道你的整体意图是什么,所以在这方面我不能给你任何好的建议。