无法使用类型为'const Node *'的右值初始化'Node *'类型的变量

时间:2019-11-07 03:08:04

标签: c++ reference

这里是什么问题,&head应该产生一个指向Node的指针,这是cur的类型,但是显然存在类型不匹配的情况?

我正在尝试使用其标题打印链接列表的元素

void printList(const Node& head){
  Node* cur = &head;
  cout<<"[ ";
  while(!(cur==0)){
    cout<<cur->x<<" ";
    cur = cur->next;
  }
  cout<<"]"<<endl;
}

无法初始化值为'const Node *'的右值的'Node *'类型的变量是错误

1 个答案:

答案 0 :(得分:0)

Node* cur = head; 要么 const Node* cur = &head;

这是因为head是const引用,您不能将其分配给纯cur(NODE *)。