【发布时间】:2013-10-02 14:12:10
【问题描述】:
我正在尝试为学校作业“重新制作”列表类。但是,我不知道如何让初始化列表构造函数工作。到目前为止我所拥有的:
ListNodes
struct ListNode
{
ListNode(int value, ListNode* tail = nullptr) : data(value), next(tail) {}
int data;
ListNode* next;
};
在 List.h 中
List(std::initializer_list<int>);
在 List.cc 中
List::List(std::initializer_list<int> il)
{
head_ = copy(il, il.size()); //some form of recursive copy-function
}
我不知道如何继续使用复制功能。我试过 std::copy 但这只是给我一个段错误。
有人知道该怎么做吗?
【问题讨论】:
-
对于每个列表元素,您应该调用
insert。此外,您必须编写一个insert函数。 -
是的,但是这个任务的一部分是所有可以递归处理的东西都应该递归处理。您对如何递归地进行插入有什么建议吗?
标签: c++ list recursion constructor initializer