首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++,请教哪里有有关问题了

2013-12-16 
c++,请问哪里有问题了void delete(employee *&head){employee *p1,*p2p1headint pcout input the

c++,请问哪里有问题了

void delete(employee *&head)
{employee *p1,*p2;p1=head;;int p;
cout<<" input the deleted number"<<endl;
cin>>p;
for(;p1->next;p1=p1->next)
{if(p1->next->number==p){p2=p1->next;p1->next=p2->next;delete p2;p2=NULL;}
当准备删最后一组数据时,就会
f.exe 中的 0x00031d38 处有未经处理的异常: 0xC0000005: 读取位置 0x00000010 时发生访问冲突
[解决办法]
当删除最后一个结点时,p1指向了倒数第二个结点,那么执行删除后,p1就成了最后一个结点,然后p1=p1->next,p1就是NULL了,然后执行for循环的判断语句p1->next,就是这句出错了
[解决办法]
delete是关键字,不能当函数名

热点排行