首页 > 代码库 > Windows 已在 数据结构_顺序表.exe 中触发一个断点——new和delete注意事项
Windows 已在 数据结构_顺序表.exe 中触发一个断点——new和delete注意事项
实现数据结构的顺序表的类时,输入,改,删,查都可以,但是最后析构函数时持续出错
错误提示“Windows 已在 数据结构_顺序表.exe 中触发一个断点”
int *elem=new int(LIST_INIT_SIZE);
if(!elem)cout<<"overflow"<<endl;
if(leng>LIST_INIT_SIZE)
cout<<"error";
else
{ length=leng;
int i=0;
int *p=elem;
for (i;i<leng;i++)
{
cout<<"input"<<i+1<<"num:";
cin>>*(p+i);
}
}
最后析构delete elem总是出错,
原因:int *elem = new int[size];和int *elem = new int(size);是不一样前者是一个数组后者只是一个int型指针,所以你在访问到系统内存的时候会报错,碰巧了16前没有访问到系统内存,
修改
int *elem=new int [LIST_INIT_SIZE];
来自为知笔记(Wiz)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。