标签: c++
我有一个类'node',它有两个成员数据和* next。当我使用指针访问数据时,它工作正常,而当我使用双指针访问数据时,它抛出错误。谁能解释我为什么会这样?
class node{ public: int data; node *next; }; push(&a,8); void push(node **p , int x){ *p->data = 11; }
为什么此 p->数据显示错误: 在“ p”中请求成员“ data”,其指针类型为“ node *”
答案 0 :(得分:3)
因为*p->data是*(p->data),而不是(*p)->data。
*p->data
*(p->data)
(*p)->data
了解operator precedence。