SELF:: доступ к статическим элементам из методов класса

 

Помогите, пожалуйста, разобраться как организован в MQL4 доступ к статическим элеменам класса из методов этого же класса.

self - не работает

 
Evgeny Potapov:

Помогите, пожалуйста, разобраться как организован в MQL4 доступ к статическим элеменам класса из методов этого же класса.

self - не работает

Здесь не клуб телепатов. Приведите проблемный код. Доступ к статическим переменных внутри экземпляров класса, происходит так же, как и к любым другим переменным внутри класса.
 
Vasiliy Sokolov:
Здесь не клуб телепатов. Приведите проблемный код. Доступ к статическим переменных внутри экземпляров класса, происходит так же, как и к любым другим переменным внутри класса.

Извините. Попробую кусочек кода для иллюстрации добавить:

class M {
   public:
      static int MyProblem = 1;
   private:
      int PrintMyProblem() {
         Print(M::MyProblem); // работает
         Print(self::MyProblem); // не работает
      }
}

Вот иллюстрация моего вопроса.

Директивы SELF - вообще что ли нет?

 
Evgeny Potapov:

Извините. Попробую кусочек кода для иллюстрации добавить:

Вот иллюстрация моего вопроса.

Директивы SELF - вообще что ли нет?

Директивы self в MQL нет. Используйте первый вариант доступа к переменной. Или просто пишите: printf(MyProble);
 

Помогите найти ошибку, пожалуйста!

#define NUMBER_OF_COMMON_COEFS   3
class ZigZacMA  {
   private:

   public:
      static double CommonCoefs[NUMBER_OF_COMMON_COEFS];
      ZigZacMA();
      ~ZigZacMA();
};
ZigZacMA::ZigZacMA()  {
   ArrayInitialize(ZigZacMA::CommonCoefs, 0); 
}
 
Evgeny Potapov:

Помогите найти ошибку, пожалуйста!

Добавьте ниже описания класса строку

double ZigZacMA::CommonCoefs[NUMBER_OF_COMMON_COEFS];
 
fxsaber:

Добавьте ниже описания класса строку

Спасибо! Помогло!
 
Evgeny Potapov:

Помогите найти ошибку, пожалуйста!

А это ничего, что создание каждого нового объекта будет заполнять общий статический массив нулями?

 
Stanislav Korotky:

А это ничего, что создание каждого нового объекта будет заполнять общий статический массив нулями?

Да, я и хочу, чтобы каждый новый объект инициализировал статику. Дальше буду рассчитывать статику с учётом новой коллекции объектов.
Причина обращения: