我正在创建一个指针数组,然后尝试以这种方式删除其中一个项目:
sf::Rect<float>* Rects2[] ={new sf::Rect<float>(0,0,WIDTH,1), (sf::Rect<float>*)&_invader.getBoundingRect() };
delete Rects2[1];
当我运行代码时,我得到一个调试断言失败的&#34; _BLOCK_TYPE_IS_VALID(pHead-&gt; nBlockUse)&#34;
我尝试使用delete &Rects2[1];
当我尝试删除第一项时 - delete Rects2[0];
我收到错误一次,然后就没问题了。
答案 0 :(得分:0)
您的第二个数组元素未由您分配,因此您不应尝试取消分配它(除非库文档说明了这一点)。
至于其他尝试,当然你只能取消一次事物。