По моему - должно выводить сначала 4 потом 7
Но - по факту - установка значения 7 переменной V не происходит в SetInt(int Param). Почему?
Что я не так делаю?
Заранее благодарен за ответ
Тип void ничего не возвращает.
//--- int SetInt(int Param) { Param = 7; return(Param); } //---
либо
//--- void SetInt(int &Param) { Param = 7; return; } //---
А мне м не нужно, чтобы функция что-то возвращала.
Мне нужно, чтобы она первому параметру присваивала определенное значение. Или например нескольким параметрам определенные значения
void SetIntString(int ParamInt, string ParamString) { ParamInt = 7; ParamString = "ABCD"; return; }
Тип void ничего не возвращает.
либо
А вот вариант
void SetInt(int &Param) { Param = 7; return; }
- то что нужно!
Выходит что дело в амперсанте.
Спасибо Вам, добрый человек.
П.С. а где это можно прочесть в документации?
И вот еще что....
Это работает только в функциях определенных в текущем модуле?
Проверял во внешних библиотеках - не работает. Так и должно быть или ошибся?
Ув. Коллеги!
void SetInt(int Param) {
}
По моему - должно выводить сначала 4 потом 7
Но - по факту - установка значения 7 переменной V не происходит в SetInt(int Param). Почему?
Что я не так делаю?
Заранее благодарен за ответ
Чтобы выполнилось то, что вы хотите нужно переменную Param объявить, как глобальную, т.е. вне функции SetInt() и вне функции start().
А вот вариант
- то что нужно!
Выходит что дело в амперсанте.
Спасибо Вам, добрый человек.
П.С. а где это можно прочесть в документации?
..., либо передать ее, как ссылку.
Существует возможность передавать параметры по ссылке. В этом случае модификация таких параметров отразится на соответствующих переменных в вызываемой функции, переданных по ссылке.
Параметры по ссылке можно передавать только в пределах одного модуля, для библиотечных функций такая возможность не предусмотрена.
Вопрос снят. Хотя... ИМХО это некая "недоразвитость" языка mql4
Этот вариант уже был предложен выше.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Ув. Коллеги!
void SetInt(int Param) {
}
По моему - должно выводить сначала 4 потом 7
Но - по факту - установка значения 7 переменной V не происходит в SetInt(int Param). Почему?
Что я не так делаю?
Заранее благодарен за ответ