我在以下C ++代码中有错误:
class Node
{
int value;
Node *prev, *next;
public:
Node(int value = 0, Node* prev = NULL, Node* next = NULL)
{
this->value = value;
this->next = next;
this->prev = prev;
}
}
class LinkList
{
Node head;
void add(int value)
{
head = new Node(value, &head, NULL);
}
}
当我尝试初始化头部时,我在add函数中出现错误。
错误:从“Node *”到“const Node&”的用户定义转换无效 [-fpermissive]
有人可以帮帮我吗?
答案 0 :(得分:2)
这在Java中是正确的:
head = new Node(value, &head, NULL);
在C ++中它是:
head = Node(value, &head, NULL);
答案 1 :(得分:0)
在类LinkList中更改数据成员
节点头;
到
Node *head;