实现数据结构的顺序表的类时,输入,改,删,查都可以,但是最后析构函数时持续出错
错误提示“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];
Windows 已在 数据结构_顺序表.exe 中触发一个断点——new和delete注意事项
时间: 2024-10-03 00:23:26