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;