Я пытаюсь использовать метод CList Search в приложении. Я приложил очень простой пример ниже. В этом примере я всегда получаю нулевой указатель в переменной result
. Пробовал на MQL4 и MQL5. Кто-нибудь когда-нибудь заставлял метод поиска работать? Если да, то где моя ошибка? В своем вопросе я ссылаюсь на эту реализацию связанного список на MQL (это стандартная реализация). Конечно, в моем приложении я хочу найти не первый элемент списка, а элементы, соответствующие определенным критериям. Но даже этот тривиальный пример у меня не работает.
#property strict
#include <Arrays\List.mqh>
#include <Object.mqh>
class MyType : public CObject {
private:
int val;
public:
MyType(int val);
int GetVal(void);
};
MyType::MyType(int val): val(val) {}
int MyType::GetVal(void) {
return val;
}
void OnStart() {
CList *list = new CList();
list.Add(new MyType(3));
// This returns a valid pointer with
// the correct value
MyType* first = list.GetFirstNode();
// This always returns NULL, even though the list
// contains its first element
MyType* result = list.Search(first);
delete list;
}