用队列层次遍历二叉树中的问题
void EnQueue(Linkqueue*Q,Bitree*sh) //插入元素sh为新队尾元素{
QNode *p;
p=(QNode*)malloc(sizeof(QNode));
if(!p) exit(OVERFLOW);
p->data=sh;
p->next=NULL;
Q->rear->next=p;
Q->rear=p;
}
Bitree*DeQueue(Linkqueue*Q) //删除队头元素,用sh返回其值
{
Bitree*sh;
QNode *p;
if(Q->front==Q->rear)
exit(OVERFLOW);
p=Q->front->next;
sh=p->data;
Q->front->next=p->next;
if(sh->lchild)
EnQueue(&Q,sh->lchild); <- 这句语句编译时系统提示错误
return sh;
}
error C2664: 'EnQueue' : cannot convert parameter 1 from 'Linkqueue ** ' to 'Linkqueue *'
为什么呢,要怎么改?