現在わたしはC+DXライブラリとVisual Studio Express 2012でRPGを製作しています。
配列の要素数を動的に変更したいと考え、malloc関数を使っているのですが、確保したアドレスを解放するときにエラーがでます。
GameScene GameTest(){
int items[2] = {3,4};
int itemSu = 2;
char** itemName = (char**)malloc((sizeof (char)) * (itemSu+1));
Item_GetItemName(items,itemSu,itemName);
//Chara_DrawInfo(items);
if(itemSu > 0){
free(items);
free(itemName);
}
return GAME_TEST;
}
void Item_GetItemName(int id[],int kazu,char* itemName[]){
//kazu分だけchar型配列を生成
for(int i=0; i<kazu; i++){
itemName[i] = item_box[id[i]].name;
}
itemName[kazu] = NULL;
}
dbgheap.c
ここで「ブレークポイントが発生した」というエラーがでる。 何が問題なのでしょうか?教えていただきたいです。