у Вас
Fractal *fractalUp[];
объявлен как массив
значит у тут Вы должны обращаться как к элементу массива:
return this.fractalUp[i];
Всё правильно, как массив, я и хочу вернуть указатель на него, если я корректно выразился относительно массива указателей? указатель на массив?
Упростим пример:
TestClass *mass[];
TestClass *copy = mass;
// 'mass' - invalid array access
Получается надо пробегаться по всему массиву, где каждый элемент - это указатель? брр... потом собирать его по новой?
Всё правильно, как массив, я и хочу вернуть указатель на него, если я корректно выразился относительно массива указателей? указатель на массив?
не получится, в MQL указатели не так работают, в С++ получилось бы
у Вас код не воспроизводимый, зависит от того, что за тип у Вас Fractal
если структура, то можно обернуть массив структур в еще структуру и возвращать в качестве результата
примерно так:
//+------------------------------------------------------------------+ struct ARR { double value; }; //+------------------------------------------------------------------+ struct Fractal { ARR arr[]; }; //+------------------------------------------------------------------+ class Strategy { private: Fractal fractalUp; Fractal fractalDn; public: Fractal getCollection(int mode) { switch(mode) { case MODE_UPPER: return(fractalUp); case MODE_LOWER: return(fractalDn); } return fractalUp; }; };
если Fractal это класс, тогда можно указатель вернуть на один элемент, весь массив не получится
если все таки хотите массив указателей, тогда, в принципе, мой пример - оберните в структуру массив указателей на класс и возвращайте в качестве результата, должно работать
не получится, в MQL указатели не так работают, в С++ получилось бы
у Вас код не воспроизводимый, зависит от того, что за тип у Вас Fractal
если структура, то можно обернуть массив структур в еще структуру и возвращать в качестве результата
примерно так:
если Fractal это класс, тогда можно указатель вернуть на один элемент, весь массив не получится
если все таки хотите массив указателей, тогда, в принципе, мой пример - оберните в структуру массив указателей на класс и возвращайте в качестве результата, должно работать
ps: Fractal - класс для удобства
class Fractal { public: Bar bar; Fractal(int shift=0) { this.bar = new Bar(shift); }; };
pps: Да! Всё пучком! Приводить свою портянку в качестве примера не буду... спасибо ещё раз! =)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем привет! Решил накидать пару строк.. ошибка компилятора, не могу найти как правильно сделать:
'fractalUp' - invalid array access Strategy.mqh
'fractalDn' - invalid array access Strategy.mqh