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

 

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

#include <Generic\LinkedList.mqh>

CLinkedList<string> list;

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

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

Спасибо))

 

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

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

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