Windows 已在 数据结构_顺序表.exe 中触发一个断点——new和delete注意事项

时间:2014-05-15 18:00:14   收藏:0   阅读:515
实现数据结构的顺序表的类时,输入,改,删,查都可以,但是最后析构函数时持续出错
错误提示“Windows 已在 数据结构_顺序表.exe 中触发一个断点”
int *elem=new intLIST_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)



Windows 已在 数据结构_顺序表.exe 中触发一个断点——new和delete注意事项,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!