我不确定发生了什么,因为我对c ++相对较新
我在全局上定义了以下主循环
vector<Character*> monsters[2][3][6];
vector<Item*> loot[2][3][6];
vector<NPC*> npc[2][3][6];
vector<Objects*> objects[2][3][6];
在我的Character.h文件中,我还定义了对象数组
extern vector<Objects*> objects[2][3][6];
在创建对象数组之前,一切正常
看来如果我向怪物数组添加8个以上的对象,奇怪的值开始出现在对象中,对象的大小也会增加。
我的代码很乱,我不确定我应该在这里包含什么。我希望这足以让你了解我的目标。
我没有彻底测试过,所以我的所有阵列都可能发生这种情况......
答案 0 :(得分:0)
看起来怪物数组不够大,所以它“溢出”并将对象放在数组之外,从而最终在另一个数组中。
抱歉给您带来不便。我希望这有助于某人。
答案 1 :(得分:0)
最终,您希望编写适合您需求的小型Grid
类,或使用Boost.MultiArray来处理此类情况。从长远来看,使用嵌套的原始数组会导致混乱。也许你也想避免按值存储指针和存储对象。