Не получается разобраться с массивами.

 
Здравствуйте.
У меня есть виртуальная функция которую даже не знаю как назвать и какое свойство придать int, double, voit... . Эта функция должна получить массив данных и после вычисления выдать массив в случаи успеха или что то другое в случае ошибки

Как лучше всего это сделать?

Спасибо.
 

через параметры по ссылке передать массив

void F(double & a[]){...}
 
Dmitry Fedoseev #:

через параметры по ссылке передать массив

А как вернуть ?

return (a) ; ?
 
Aliaksei Karalkou #:
А как вернуть ?

return (a) ; ?

Не надо возвращать. Работа идет непосредственно с тем же самым массивом, котрый передан при вызове функции.

 
Dmitry Fedoseev #:

Не надо возвращать. Работа идет непосредственно с тем же самым массивом, который передан при вызове функции.

Получается, что нужны глобальные переменные для работы. Это не совсем удобно.
 
Aliaksei Karalkou #:
Получается, что нужны глобальные переменные для работы. Это не совсем удобно.

Не обязательно глобальные же.

 
Aliaksei Karalkou #:
Получается, что нужны глобальные переменные для работы. Это не совсем удобно.

нет

void OnStart(){
        double ar[1];
        F(ar);
        Alert(ar[0]);
}

void F(double & a[]){
        a[0]=123;
}
 
Dmitry Fedoseev #:

нет

Нет?
Я в функцию передаю массив с данными. Массив делает вычисления, а на выходе получается новый массив с вероятностью. 

Теперь получается нужно достать этот новый массив из функции и передать в OnTick()
 
Как вариант , отправить туда два массива, один из которых пустой. 
 
Aliaksei Karalkou #:
Нет?
Я в функцию передаю массив с данными. Массив делает вычисления, а на выходе получается новый массив с вероятностью. 

Теперь получается нужно достать этот новый массив из функции и передать в OnTick()

Когда используете волшебный символ & как в примере Дмитрия, то функция может писать в этот же самый массив, который будет доступен из OnTick.

При желании можете сделать второй массив-параметр например void F(double & in[] , double & out[]) и писать результаты (вероятности) в out.

Благодаря & входной параметр может быть выходным.

 
transcendreamer #:

Когда используете волшебный символ & как в примере Дмитрия, то функция может писать в этот же самый массив, который будет доступен из OnTick.

При желании можете сделать второй массив-параметр например void F(double & in[] , double & out[]) и писать результаты (вероятности) в out.

Благодаря & входной параметр может быть выходным.

Спасибо
Причина обращения: