초기화 목록을 인수로 사용하는 자체 List 클래스의 생성자를 만드는 학교에서 과제를 수행하고 있습니다.생성자에 대한 초기화 목록
이 내가 할 수 있기를 원하는 것입니다 :
내 소견에서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 ourList {1, 2, 3};
이것은 내가 지금까지 가지고있는 것입니다. 그러나, 내 초기화 (List list {1,2,3};
)를 시도하면 seg-fault가 발생합니다. 누군가 내가 여기서 잘못하고 있다고 설명해 주시겠습니까?
당신은 이상 같은 요소를 복사 유지하고 이상, 당신은'++ begin''++ 시작하지 싶지는' –
왜 순차적 인 작업 재발을 사용하지
++begin
을 원하는? 버그를 찾기가 더 어려워집니다. – luk32