Как вывести все значения двухсвязного списка на MQL5?

olegeskevich  

Как пройтись циклом чтобы получить все значения списка начиная с первого? Например, чтобы вывести их ф-ей Print 

#include <Generic\LinkedList.mqh>

CLinkedList<string> list;

int OnInit()
  {
   list.AddLast("Вася");
   list.AddLast("Петя");
   list.AddLast("Дима");
   list.AddLast("Вика");
  
   return(INIT_SUCCEEDED);
  }
fxsaber  
CLinkedListNode<string>* Item = list.Head();

for (int i = list.Count() - 1; i >= 0; i--, Item = Item.Next())   
  Print(Item.Value());
Alexey Navoykov  

Вообще перебор элементов должен выглядеть так:

for (CLinkedListNode<string>* item= list.Head();  item!=NULL;  item=item.Next())
  Print(item.Value());

Но в данной библиотеке ошибка: конечный элемент почему-то ссылается на начальный, из-за чего происходит зацикливание.  В общем библиотека портирована криво.

Причина обращения: