Скачать MetaTrader 5

как передать многомерный массив в импортируемую функцию?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Дима
10
Дима  

код функции (c++)

double UseMas(double*** a)
{
return a[0][0][0];
}

код в експерте

#import "testLib.dll"
double UseMas(double a[][][]);
#import

Не работает! Не распознает! Работает только для одномерного массива!

Как сделать для многомерного?

Помогите!

o_o
Модератор
23859
o_o  

так вы же все равно указатель передаете.

и к тому же МТ не будет передавать неизвестный Nмерный массив. не скомпилирует, ошибку покажет

Рустам
3597
Рустам  

Указать размерность 2,3 ... измерения

Андрей
1890
Андрей  

массив

a[2][2] = {

...... [0] ..... [1]

[0] ...0; ...... 1

[1] ...2; ...... 3

}

передается как double * a.

Порядок следования элементов {0; 1; 2; 3}.

Надо просто написать формулу пересчета адреса Nмерного массива в одномерный.

Рустам
3597
Рустам  
Да не надо ничего передавать, оперируйте с глобальным массивом любой размерности, но если вы меняете размер внутри функции, то не забывайте его контролировать...
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий