Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Знаете ли вы, что в MQL5 появилась обработка событий?
Дима
10
Дима 2012.01.24 17:18 

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

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

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

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

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

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

Помогите!

o_O
Модератор
23321
o_O 2012.01.24 20:01  

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

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

Рустам
3604
Рустам 2012.01.24 20:37  

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

Андрей
1890
Андрей 2012.01.24 20:41  

массив

a[2][2] = {

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

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

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

}

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

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

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

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