Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1923

 
PapaYozh #:

Массив и структура ВСЕГДА передаются в функцию по ссылке.

Мы про документацию, ее юзабилити при знакомстве), про ссылки на массив / структуру при передаче их в функцию, спора нет.)))

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

 
Valeriy Yastremskiy #:

Вопрос возник


#define Symbol  _Symbol

int OnInit()
  {
 
Ask=SymbolInfoDouble(Symbol,SYMBOL_ASK);        // Так работает
Ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);      // Почему ошибку скобок пишет? 

Прикольно ошибся копипастом)))

 
Valeriy Yastremskiy #:

Прикольно ошибся копипастом)))

Макрос совпал с именем функции

 
PapaYozh #:

Макрос совпал с именем функции

#define Symbol()  _Symbol       // скобки были пропущены

int OnInit()
  {
 
Ask=SymbolInfoDouble(Symbol,SYMBOL_ASK);        // Так перестанет работать
Ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);      // Так начнет

Нет, подстановка давала результат ошибочный.

_Symbol()              // скобки лишние
 
PapaYozh #:

Массив и структура ВСЕГДА передаются в функцию по ссылке.

А я что-то другое сказал?

Я написал "если в функцию передаётся по ссылке что-либо..."

Поэтому человек сразу должен понимать, что структура скорее всего будет заполнена в функции. Но тут нужно смотреть уже справку - для чего туда передаётся структура.

Я не предполагал писать развёрнутые пояснения со всеми необходимыми умозаключениями, а лишь указал человеку как понимать где структура может быть заполнена. А может и не быть.

Я не собираюсь тут целую лекцию расписывать. Речь была не о том, что ВСЕГДА передаётся по ссылке, а ЕСЛИ что-то передаётся по ссылке, то нужно внимательно прочитать описание этой функции - чтобы знать для чего в неё передаётся структура.

 

Речь о том, что массивы и струкруры никогда не передаются в функцию MQL иначе чем по ссылке.

Т.е. по отношению к массивам и структурам нет никакого "ЕСЛИ".

 
PapaYozh #:

Речь о том, что массивы и струкруры никогда не передаются в функцию MQL иначе чем по ссылке.

Т.е. по отношению к массивам и структурам нет никакого "ЕСЛИ".

Я наверное плохо изъясняюсь на русском.

Если в функцию передаётся массив, структура или переменная...

Не "если по ссылке передаётся"...

А если передаётся. Так как может и не передаваться.

А раз всегда передаются только по ссылке, то я об этом и написал: "Если в функцию что-то передаётся по ссылке"...

Цветом обозначен смысл.

Теперь я понятно изъяснился?

Самое интересное, что человек, которому я писал всё прекрасно понял с первого раза. Так может это не я-таки плохо изъясняюсь?

 
Artyom Trishkin #:

Я наверное плохо изъясняюсь на русском.

Если в функцию передаётся массив, структура или переменная...

Не "если по ссылке передаётся"...

А если передаётся. Так как может и не передаваться.

А раз всегда передаются только по ссылке, то я об этом и написал: "Если в функцию что-то передаётся по ссылке"...

Цветом обозначен смысл.

Теперь я понятно изъяснился?

Самое интересное, что человек, которому я писал всё прекрасно понял с первого раза. Так может это не я-таки плохо изъясняюсь?

Вы не нервичайте так

 
PapaYozh #:

Вы не нервичайте так

Я всегда в полном спокойствии поясняю людям то, что говорил - чтобы не было недопониманий. Или вы хотите думать, что я нервничаю? Ошиблись тогда.

Меня выводить из себя - что небо красить ;)

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