断言错误:_BLOCK_TYPE_IS_VALID(pHead-> nBlockUse)
题
我得到在下面的代码标题中的错误:
std::vector<short> GetIndicesFromID3DXMesh(ID3DXMesh* model)
{
//LPVOID * ppData;
DWORD stride = sizeof(short);
BYTE* ibptr = NULL;
short* indices = new short[model->GetNumFaces() * 3];
std::vector<short> copy;
model->LockIndexBuffer(0, (LPVOID*)&indices);
for(size_t i = 0; i < model->GetNumFaces() * 3; i++)
{
copy.push_back(indices[i]);
}
model->UnlockIndexBuffer();
delete []indices;
return copy;
}
目前行删除[]索引
我不知道为什么,我明白了,我不知道我是怎么得到它,我能不明白吗?
解决方案
不要分配的空间,为您的索引。 DirectX的不分配,然后释放它,当你调用解锁。
short* indices = NULL;
model->LockIndexBuffer(0, (LPVOID*)&indices);
不隶属于 StackOverflow