Metaeditor ошибка

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
nicholi shen
2466
nicholi shen  

Почему происходит сбой программы?

#include <arrays/arrayobj.mqh>


typedef bool (*ArrayFilterFunc) (CObject*);

template <typename T>
class objvector : public CArrayObj {
protected:
   static objvector<objvector<T>*> *s_garbage_collector;
public:
   T operator[](const int index)const{return this.At(index);}
   objvector<T>();
   objvector<T>* filter(ArrayFilterFunc fn) {
      objvector<T>* pass = new objvector<T>();
      m_gc.Add(pass);
      pass.FreeMode(false);
      int size = this.Total();
      for (int i=0; i<size; i++) {
         if (fn(this[i])) {
            pass.Add(this[i]);
         }
      }
      return pass;
   }
};
template <typename T>
objvector<objvector<T>*>* objvector::s_garbage_collector = NULL;
template <typename T>
objvector::objvector() {
   if (!CheckPointer(s_garbage_collector))
      s_garbage_collector = new objvector<objvector<T>*>();
}



void OnStart() {
   objvector<CObject*> objs; 
}
Ilyas
1442
Ilyas  

Спасибо за сообщение.
У Вас некорректный код - бесконечная рекурсия на шаблоне.

Исправим, будет выдаваться ошибка.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий