私は、初期化リストを引数として取る独自の List クラスのコンストラクターを作成することになっている学校での課題に取り組んでいます。
これは私ができるようにしたいことです:
List ourList {1, 2, 3};
これは私がこれまでに持っているものです:
List::List(std::initializer_list<int> il)
{
head_ = copy(il.begin(), il.end());
}
List_Node* List::copy(std::initializer_list<int>::iterator begin,
std::initializer_list<int>::iterator end)
{
if(begin == end)
return nullptr;
List_Node* new_list = new List_Node(*begin);
List_Node* node = copy(begin++, end);
new_list->next_ = node;
return new_list;
}
私の謙虚な意見では、これはうまくいくはずです。ただし、初期化 ( List list {1,2,3};
) を試みると、seg-fault が発生します。誰かが私がここで間違っていることを説明してもらえますか?