我无法弄清楚如何删除作业中的对象数组。
声明如下所示:
Sprite* gCharacter[64] ;
然后在 WndProc 函数中。
case WM_DESTROY:
for(int i = 0; i < 64;i++){
delete gCharacter[i];
}
delete gBackground;
delete gBackBuffer;
DeleteDC(ghSpriteDC);
PostQuitMessage(0);
return 0;
使用这个 for 循环,我得到断言错误,就像我尝试这样的事情:
delete gCharacter[0];
delete gCharacter[0];
我无法弄清楚为什么会发生这种情况以及如何正确删除该数组。如果没有,我将手动输入:delete gCharacter[from 0 to 63]
但这看起来很混乱。
这固定
for(int i = 0; i < 180; i++){
gCharacter[i] = 0;
delete gCharacter[i];
}
这个错误:_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
但我不知道为什么我必须先设置 NULL 值。