для начала -- что возвращает такая функция -- void -- определись.
далее: возврат .... передача...
учебник...
Вот из учебника например:
int Gipo(int a, int b) // Пользовательская функция
{
int c2 = a*a + b*b; // Сумма квадратов катетов
int c = MathSqrt(c2); // Гипотенуза
return(c); // Оператор выхода из функции
}
Мне надо бы что бы функция возвращала несколько значений с типом double.
void Test (int &a, int &b)
{
...
}
Это модификация, а не возврат значения.
Возврат так:
double Test(int a, int b) { a = 123; b = 456; return(1.0 * (MAX_DWORD + 1) * a + b); }
Здравствуйте, собственно вопрос в том, как написать функцию, что бы она возвращала несколько значений, например, если написать следующий код, то функция вернет два значения???
void Test(int a, int b)
{
a=1;
b=2
}
Обойдите этот момент, используя глобальные переменные эксперта и меняя их значения в вызываемой функции - вот и все.
Например, посмотрите вызов и работу булеановской ф-ии Lot() учебника, которая меняет глобальную переменную объема сделки Lots_New и сама принимает одно из двух значений: true или false - здесь.
...собственно вопрос в том, как написать функцию, что бы она возвращала несколько значений, например, если написать следующий код, то функция вернет два значения???
Потом разберетесь с хитрыми обходами, а пока сделайте две почти одинаковых функции, пусть одна возвращает а, вторая b. Через return() можно вернуть только одно значение.
Вадим, вы иногда такую муть несете... без обид, но это бред.
Какие обиды? :-)) Что не понравилось? Конкретнее...
То, что написал не проверял, но работает в случае применения структур. Здесь привёл пример, как в MQL4 структуру эмулировать и вернуть.
Ещё достоинство этого решения, это возможность передавать 2 значения из библиотек. Т.к. библиотеки MQL4 не позволяют модифицировать параметры.
Но это не требуется, если автор темы умеет работать с массивами и не имеет ничего против их использования. Массивы в библиотеках MQL4 разрешено модифицировать.
1. Если void - то это войд - т.е. ничего.
2. Ф-я возвращает по return объявленный в описании ф-ии тип данных.
3. Несколько значений за раз вернуть не получится - вызывайте. )))
===
Кстати, почему нет массива? ок. Урезанная версия, но все же...

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте, собственно вопрос в том, как написать функцию, что бы она возвращала несколько значений, например, если написать следующий код, то функция вернет два значения???
void Test(int a, int b)
{
a=1;
b=2
}