C++ 创建具有属性的 struct ListNode 实例[已关闭]

问题描述 投票:0回答:0
struct ListNode {
    int val;
    ListNode *next;
    ListNode() : val(0), next(nullptr) {}
    ListNode(int x) : val(x), next(nullptr) {}
    ListNode(int x, ListNode *next) : val(x), next(next) {}
};

ListNode* func() {
    ListNode newnode(int val= 1);
    return newnode;
}

问题是,函数 func() 期望返回带有星号的 ListNode* 并且在初始化时我无法为 next 分配任何内容。是否有可能或者我应该使用不同的技术? 我正在尝试像在 python 中一样填充 newnode LinkedList:

new= ListNode(values[0], None)
for value in values[1:]:
    new= ListNode(value, new)

谢谢

我尝试像这样创建它:

ListNode newnode(int val=1, ListNode* next=nullptr);

出现错误:

error: no viable conversion from 'nullptr_t' to 'ListNode'

甚至不能像这样分配给下一个:

newnode->next = nullptr;
(都没有点)

因为它给出了错误:

error: member reference base type 'ListNode (int)' is not a structure or union newnode->next= nullptr;

c++ singly-linked-list
© www.soinside.com 2019 - 2024. All rights reserved.