所以我想寫一個函數,它需要兩個參數,list<item> myList
和int num_items
,並創建一個新列表的向量。每個項目都有數據成員標識,這是項目應添加到的列表向量中的索引。任何項目的ID都保證不大於(num_items - 1)。這裏是我的代碼:向量的列表
vector<list<item>> createVector(list<item> myList, int num_items) {
vector<list<item>> myVector;
myVector.reserve(num_items);
for(item& i : myList)
myVector[i.ID].push_back(i);
return myVector;
}
這是造成分段錯誤,每當我打電話的push_back()到項目的載體添加到列表中。我知道如何使用指針實現函數,但函數返回的類型必須是實際的列表向量而不是指向它們的指針,所以我不能使用動態內存分配。任何幫助將不勝感激。謝謝。