Есть структура двунаправленного списка.
typedef struct DNode
{
DNode *next;
DNode *pnext;
int value;
} DNode;
И есть класс DList, в котором есть эта структура.
class DList
{
DNode *head = new DNode();
}
Но вот проблема, когда вызываю функцию первый раз все проходит хорошо. Но если вызвать её второй раз, то указатель находится на том месте, где остановится цикл. Как сделать так, чтобы при вызове разных функций, указатель снова показывал на первый узел списка?
int DList::ListNodeNumber() {
// Определение числа элементов в списке
int counter = 0; // Описание и инициализация счетчика узлов
// Проверка указателя на NULL
while (head) {
head = head->next;
counter++;
}
return counter;
}