我正在C++中使用模板化通用鏈接列表,並且遇到push()方法的問題。我想我知道這個問題,但我找不出解決方案。這是我的推送方法。鏈接列表推式方法
template <class T> void DLL<T>::pushFront(T value) {
Node<T> node(value);
temp = node;
temp->setPrev(*head);
temp->setNext(*(head->getNext()));
head->setNext(*temp);
temp->getNext()->setPrev(*temp);
this->length++;
}
推一些整數到列表,在列表遍歷並打印關閉,似乎是在內存中隨機空間數字打印關閉值結果之後。我認爲這是因爲在推送函數返回後,節點變量被銷燬。任何人都知道爲什麼這不起作用?所有的setNext/Prev()和getNext/Prev()函數在我的其他測試中都能正常工作。我難倒...
編輯*
變量頭和溫度的類型節點<的T全局> *
第3行應該是temp =&node? – tmpearce 2012-03-13 03:25:14