С помощью ArrayResize можно изменить размер в первом измерении массива. А что делать, если нужно изменить оба размера в двухмерном массиве? Внутри функции, в которую этот массив передается по ссылке?
- Изменение размерности двухмерных массивов
- А что ArrayResize в функциях не работает?
- [АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3.
Я как-то сделал такое.
//+------------------------------------------------------------------+
//|Запись в квазидвумерный массив |
//+------------------------------------------------------------------+
int DWriteArr2(double& arr[],double data,int i,int j,int Dim1,int Dim2) {
arr[i+j*Dim1]=data;
return(0);
}
//+------------------------------------------------------------------+
//|Чтение из квазидвумерного массива |
//+------------------------------------------------------------------+
int DReadArr2(double& arr[],double& data,int i,int j,int Dim1,int Dim2) {
data=arr[i+j*Dim1];
return(0);
}
//+------------------------------------------------------------------+
//|Изменение размеров квазидвумерного массива |
//+------------------------------------------------------------------+
int DResizeArr2(double& arr[],int Dim1,int Dim2) {
int res=ArrayResize(arr,Dim1*Dim2);
if (res <= 0) return(-1);
else return(0);
}
Комментарий: Мне нужно было устанавливать размер массива один раз - исходя из параметров индикатора. Если делать аналоги "вообще", то нужно обеспечить сохранение значений при изменении размера и желательно вставить проверки на выход за границы при обращении. И наверное ещё что-нибудь :), просто я на эту тему долго не думал - цели такой не было. Но идея, думаю, понятна. А может кто-то и сделал такую библиотеку уже.
Спасибо. Посмотрю, но меня такой вариант, кажется, не спасет.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь