我必须使用的功能如下所示:
void pushNode (struct onode** head, struct onode* node) ;
我试着用这个:
struct onode *head = NULL;
head=malloc(sizeof(struct onode));
struct onode *tempO;
pushNode(*head,tempO);
我在终端收到此错误:
expected ‘struct onode **’ but argument is of type ‘struct onode’
我不确定要放什么代替*head
。
你可能会对此有所了解。非常感谢。
谢谢
答案 0 :(得分:5)
使用时:
pushNode(*head, tempO);
取消引用 head
,将struct onode *
变为struct onode
。
你想取其地址,这可以说是解除引用的对立面:
pushNode(&head, tempO);
将其地址从struct onode *
转换为struct onode **
。
答案 1 :(得分:1)
尝试改为pushNode(&head,tempO);
作为指针指针的指针的地址,即struct node **
。