Хорошо, поэтому по какой-то причине этот код не совсем работает для моей функции insertBack для класса шаблонов двусвязных списков Dlist.
template <typename T>
void Dlist<T>::insertBack(T *o)
{
node *findLast;
node* newNode = new node;
newNode->next = NULL;
newNode->prev = NULL;
newNode->o = o;
if (first == NULL){
first = newNode;
last = newNode;
} else {
findLast = first;
while (findLast->next){
findLast = findLast->next;
}
newNode->prev = findLast;
last = newNode;
}
}
first и last соответствуют первому и последнему узлам Dlist.Моя проблема в том, что 'last' не присваивается newNode в конце.Когда я отлаживаю (используя VS2010), newNode правильно присваивается значение аргумента метода, а его «предыдущий» узел правильно присваивается «findLast».Но когда я назначаю последний для newNode, ничего не происходит.
Если это не очевидно сразу, я рад опубликовать фактическое определение класса для Dlist, хотя это довольно стандартный связанный список.
Спасибо за помощь!