(単純なリンクされた)リストを、リンクされたリストから派生したスキップリストに変換したいと思います。paramとして(リンク)リストを取得する変換コンストラクター内で、*でstackoverflowを取得します。私はそのctorをメインから一度だけ呼び出します。新しいSkipListがループワイズで呼び出される可能性はありますか?
class SkipList : public List {
public:
SkipList(SkipListEl* first) : List (first){};
SkipList(const List& sl){
ListEl* fst = sl.getFirst();
new SkipList(fst); // * <- stackoverflow
while(fst->hasNext()){
new SkipListEl(*fst);
fst = fst->getNext();
}
};