C ++收到“用户定义的无效转换”错误

时间:2013-12-01 16:04:26

标签: c++

我在以下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]

有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:2)

这在Java中是正确的:

    head = new Node(value, &head, NULL);

在C ++中它是:

    head = Node(value, &head, NULL);

答案 1 :(得分:0)

在类LinkList中更改数据成员

节点头;

Node *head;