void delete(node* p,char a)
{
node* e=p->next;
while(e->next!=NULL)
{
if(e->data==a)
{
p->next=e->next;
//free(e->data);释放的是e
free(e);
break;
}
e=e->next;
p=p->next;
}
printf("this node is not exist!\n");
}
导致这个错误的原因是delete是c++里面的一个运算符,定义的delete函数与之相冲突。