void WorldManager::spawnProjectile (int x,int y,int speedx,int speedy){
//LaserBulletProjectile proj(x,y,speedx,speedy);
Projectile *proj;
proj = new LaserBulletProjectile(x,y,speedx,speedy);
projectiles->push_back(proj);
}
和矢量
std::vector<Projectile * > * projectiles;
我听说三(三个?)的规则并且不明白。是否可以尝试以一种初学者友好的方式解释这一点?我可能会过度思考:)
此外,经过更多阅读后,我认为这是因为指针未被释放。我还没有写过这个,因为我的代码还没有机会。 (我还没有任何这个工作,我想我以后可以这样做。也许这就是问题。)
答案 0 :(得分:2)
您需要分配矢量:
projectiles = new std::vector<Projectile*>;
在您尝试添加内容之前!
答案 1 :(得分:1)
三国统治: -
If your class needs any of
a copy constructor,
an assignment operator,
or a destructor,
明确定义,然后它可能需要所有这三个。