2012-05-28 55 views
0

我不能完全肯定發生了什麼事,因爲我是比較新的C++指向類載體多維數組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個對象添加到怪物陣列奇怪的值開始出現在對象和對象的大小增加。
我的代碼很混亂,我不確定我應該在這裏包含什麼。我希望這足以讓你知道我在做什麼。

我所以它很可能發生在我所有的陣列還沒有徹底測試此...

+4

你爲什麼要這樣做,而不是嵌套向量或'vector'的嵌套'std :: array'? – pmr

+1

你可以顯示你用來插入一個對象/怪物到數組中的代碼嗎?以及如何訪問數組以查看它是否包含奇怪的對象? –

+0

@pmr我不確定採取什麼方法,因爲我是相當新的。我選擇這個的原因是因爲我設置了怪物[map] [zoneX] [zoneY],然後是該地圖區域中所有怪物的矢量。 – FallingReign

回答

0

看來,怪物陣列是不是足夠大,所以這是「爆棚」和配售對象以外數組,從而結束在另一個數組中。

不便之處,敬請原諒。我希望這可以幫助別人。

0

最終你想寫自己的小Grid類,以滿足您的需要或使用Boost.MultiArray來處理這種情況。使用嵌套的原始數組會導致長期的混亂。也許你還想避免存儲指針並按值存儲對象。