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是关键字,不能当函数名