C++中delete用来删除链表报错
答案:2 悬赏:50 手机版
解决时间 2021-08-10 22:14
- 提问者网友:温柔港
- 2021-08-10 17:34
//不加delete【】h绝对能用,加上之后编译没错,运行就报错
#include
#include
#include
#include"6.h"
BOOK *book;
user *USER;
int main()
{
user *p,*h;
fstream ip("c:\\user_information.txt",ios::in);
if(ip.eof()==0)
{p=new user;
h=p;}
else return 0;
while(1)
{
ip>>p->user_name;
if(ip.eof()!=0)break;
p->unext=new user;
p=p->unext;
}
p->unext=NULL;
p=h;
ip.close();
while(p)
{
coutunext;
}
delete[]h;
return 0;
}
最佳答案
- 五星知识达人网友:鱼芗
- 2021-08-10 18:57
那是肯定的了,你p的空间使用new申请的,所以必须用delete来释放,delete[]表示释放多个(线性排列元素,就是数组),但是你申请的不是数组所以就错了
全部回答
- 1楼网友:孤老序
- 2021-08-10 19:27
干嘛用delete [] h, 用delete h就行了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯