为什么在调试模式下执行此代码会触发断点?
#include <list>
void main() {
std::list<int>::iterator* iterators = new std::list<int>::iterator[50];
delete iterators;
}
答案 0 :(得分:3)
如评论中所述,如果使用
实例化数组... = new name[];
你必须使用
delete [] name;
答案 1 :(得分:2)
当你使用operator new []时,你还必须使用operator delete [],否则它是一个未定义的行为。
您可以查看此问题以获取更多信息: Is delete[] equal to delete?