繁体   English   中英

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

[英]C++ getting “invalid user-defined conversion” error

我在以下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]的用户定义转换无效

有人可以帮帮我吗?

这在Java中是正确的:

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

在C ++中它是:

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

在类LinkList中更改数据成员

节点头;

Node *head;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM