#include<cstdio>#include<cstdlib>#define
ERROR 0#define OK 1typedef int Status;typedef struct id{
int book; char idNum[20];}id;typedef id Elemtype;typedef
struct Link{ Elemtype data; struct Link
*next;}Link,*PLink;typedef struct Link_r{ PLink front;
PLink rear;}Link_r;Status InitLink(Link_r &l);Status
InsertLink(Link_r &l,Elemtype *e);Status FindLink(Link_r
&l,Elemtype* e);Status TraverseLink(Link_r l);Status InitLink(Link_r
&l){ l.rear=l.front=(PLink)malloc(sizeof(Link));
if(!l.front) return ERROR; l.rear->next=NULL;
return OK;}Status InsertLink(Link_r& l,Elemtype* e){
PLink p1; p1=(PLink)malloc(sizeof(Link)); if(!p1) return
ERROR; p1->data=*e; p1->next=NULL;
l.rear->next=p1; l.rear=l.rear->next; return
OK;}Status FindLink(Link_r& l,Elemtype* e){ int
flag=1; PLink p,p1; p=p1=l.front; while(p->next)
{ if(*e==p->next->data){ p1=p->next;
p->next=p1->next; if(p1->next==NULL){
l.rear=p; flag=0; }
printf("find\n"); free(p1); break;
} p=p->next; } if(p->next==NULL&&flag)
printf("not find\n"); return OK;}Status TraverseLink(Link_r
l){ PLink p; p=l.front; while(p->next){
printf("%d\n",p->next->data.book); p=p->next;
} return OK;}int main(){ id e; e.book=1;
scanf("%s",e.idNum); Link_r l; InitLink(l);
InsertLink(l,&e); FindLink(l,&e); TraverseLink(l);
return 0;}编译错误类型:error: no match for 'operator==' in '* e == p->Link::next->Link::data'| 各位大哥大姐帮忙……