Я работаю над шаблоном, связанным с общим списком на C++, и у меня возникают проблемы с методом push(). Я думаю, что знаю проблему, но я не могу найти решение. Вот метод push, который у меня есть.Связанный список метод 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++;
}
После нажатия некоторых целых чисел в список, проходя по списку и распечатке результатов значения в печати от числа, которые кажутся случайным пространством в памяти. Я думаю, это связано с чем-то, связанным с тем, что переменная узла уничтожается после возврата функции push. Кто-нибудь знает, почему это не работает? Все функции setNext/Prev() и getNext/Prev() работают правильно в моих других тестах. Я в тупике ...
редактировать *
Переменные головы и температура являются Глобал типа Node < T> *
Предполагается, что строка 3 должна быть temp = & node? – tmpearce