我正在使用“->”,但输出仍然询问我是否打算使用“->”

I am using '->' but output is still asking me if I meant to use '->'

我正在尝试在 C 中创建单链表的功能,但在访问头节点的下一个节点时遇到问题。

typedef struct node {
  struct node *next;
} Node;

int foo(Node **head){
  *head = *head->next;
}

当我 运行 这段代码时,我希望它将我的头节点指针的地址更改为指向下一个节点的地址,但我却收到以下错误:

‘*head’ is a pointer; did you mean to use ‘->’?
     *head = *head->next;

foo 里面的那一行应该是

     *head = (*head)->next

因为'->'的优先级高于*

您可以在此处了解有关运算符优先级的更多信息 (https://en.cppreference.com/w/cpp/language/operator_precedence)