Я пытаюсь поиграть с хранилищем массива MQL 5. Когда я не использую ArrayResize()
, я получаю сообщение об ошибке:
double d [];
d[0] = 1;
for (int i = 0; i< ArraySize(d); i++)
{
Print(d[i]);
Ошибка заключается в следующем:
2018.03.26 13:17:25.379 2018.02.02 00:00:00 array out of range in 'testing.mq5' (69,2)
Принимая во внимание, что когда я использую ArrayResize()
, я получаю вывод.
double d [];
ArrayResize(d,2);
d[0] = 1;
for (int i = 0; i< ArraySize(d); i++)
{
Print(d[i]);
}
Выход: 1
Это сработало. Но если я попытаюсь добавить элемент массива за пределы размера массива, я получу ошибку out of range
.
Я хочу добиться того, чтобы массив оставался динамическим с точки зрения размера.
Скажем, мне задан размер 2
, и во время моей программы необходимо добавить элемент массива в 3
, тогда массив должен принять его.
Я не могу использовать ArrayResize()
, так как это уничтожит другие значения, чего я не хочу.
Пожалуйста, предложите мне средний выход, чтобы я мог ввести любое количество значений в массив независимо от его размера.