链表储存子弹信息出现异常, 其中IMAGE变量的访问出现了问题
求助大佬, 捕鱼游戏炮弹和大炮发射出了问题, 炮弹设成一个单一结构体的时候还能完美发射,后来想用链表达到连续多个炮弹发射的效果,但是链表好像出了问题, 没有报错只有异常, 具体异常如下:
第一个异常是在创建链表和插入节点时, 直接赋值初始化IMAGE成员变量会出问题:
(代码已删除)
把异常那两行和下面insertBulletNode函数的两行类似代码都改成直接loadimage()的形式就可以了. 但是又出现了第二个异常, 在旋转炮台函数里面:
(代码已删除)
1
请上传可以编译运行的代码,用眼找上百行代码中的bug很费神 - 无名氏 2020-5-1
@无名氏 已经更新了可编译的代码, 感谢大神提醒! - Orca 2020-5-1
1
malloc 改为使用 new 代替试试? - xiongfj ◑◑ 2020-5-2
@xiongfj ◑◑ 好的我试一下,谢谢! - Orca 2020-5-2
@xiongfj ◑◑ 成功了!!!!我们暂时没学c++,虽然具体原理不太明白,但是非常非常非常非常感谢大神!!!!!!! - Orca 2020-5-2
IMAGE 是一个 class,如果用 malloc 分配存储空间,并不会执行对象的构造函数,导致对象异常。
所以需要用 new 来分配空间,new 分配好存储空间后,会执行对象的构造函数。