2012-03-14 2 views
1
memset(outsideWallHeightMap, 0, sizeof(outsideWallHeightMap[0][0]) * CHUNK_SIZE_MULT * ITEM_CHUNK_SIZE_MULT); 


quint8 outsideWallHeightMap[INSIDE_ITEM_CHUNK_SIZE_MULT][CHUNK_SIZE_MULT]; 

#define ITEM_MAP_SIZE 128 
#define CHUNK_SIZE 8 
#define CHUNK_SIZE_MULT (CHUNK_SIZE*CHUNK_SIZE) 

#define INSIDE_ITEM_CHUNK_SIZE (INSIDE_ITEM_MAP_SIZE/CHUNK_SIZE) 

#define INSIDE_ITEM_CHUNK_SIZE_MULT (INSIDE_ITEM_CHUNK_SIZE*INSIDE_ITEM_CHUNK_SIZE) 

これがなぜ私の記憶を完全に破壊するのかわかりません!私はquint8で前に悩みがあった、それはそうでないと期待している。Memsetメモリのオーバーフロー

洞察力はすばらしいだろう!

+0

INSIDE_ITEM_CHUNK_SI ZE_MULTがサンプルコード – SirDarius

+0

に定義されていると表示されません。私はすべてのquint8をquint16に変更しました。 – RobotRock

+0

それは、私は内側と外側を交換!だから愚かな...改訂を行っていた必要がありますそれを台無しにした。 – RobotRock

答えて

3

はそれが

memset(outsideWallHeightMap, 0, sizeof(outsideWallHeightMap[0][0]) * CHUNK_SIZE_MULT *INSIDE_ITEM_CHUNK_SIZE_MULT));

または容易に

memset(outsideWallHeightMap, 0, sizeof(outsideWallHeightMap)); 
+0

+1。 –

0

すべきではないあなたも0にこの方法を、すべてを初期化することができます。

quint8 outsideWallHeightMap[INSIDE_ITEM_CHUNK_SIZE_MULT][CHUNK_SIZE_MULT] = {{0}}; 
関連する問題