【发布时间】:2020-07-09 14:35:06
【问题描述】:
我一直在尝试在循环中创建多个对象并将其存储在地图中,但是在循环后它往往会被破坏,我理解这一点,但我想将这些对象存储在地图中以备将来使用。
经过一些调试我发现地图只保存了 1 个对象而不是 5 个为什么会这样,我该如何改进它?
【问题讨论】:
-
请将您的代码作为文本直接发布在您的问题中,而不是发布代码图像的链接。
-
经过一些调试,我发现地图只保存了 1 个对象,而不是 5 个,这是为什么 -- 您正在存储局部变量的地址。当该局部变量被破坏时会发生什么?
-
必须是指针吗?
-
确切地说,您的代码必须被修复,而不是改进。作为快速修复,您可以将 tmp 声明为 EnemySprite* 并使用 new 对其进行初始化。