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];
posted on 2014-05-15 13:19 zhuangwy_CV 阅读(1547) 评论(1) 编辑 收藏 举报