Preguntas de un "tonto" - página 124

 
MetaDriver:

Bien, me voy. :) Yo también estoy fuera de la terminal.

Comprobado elemental - tratando de utilizar ArrayResize(...)

A juzgar por la frase "intentando usar" lo más probable es que obtengas un error del tipo "array es estático". Bueno, vamos a comprobarlo.
 
MetaDriver:

Es elemental intentar utilizar ArrayResize(...)

taki algo enrevesado) más sencillo
 

Pues aquí están los errores. Ciudadanos de Metaquotes, ¡presten atención!

   int j[1];
   Alert("Размер массива из одного элемента без списка инициализации = ", sizeof(j), "   Массив динамический? ", ArrayIsDynamic(j));

   int k[];
   Alert("Размер структуры для динамического массива = ", sizeof(k), "   Массив динамический? ",ArrayIsDynamic(k));
   
   int g[] = {0};
   Alert("Размер массива из одного элемента со списком инициализации = ", sizeof(g), "   Массив динамический? ",ArrayIsDynamic(g));
La esencia del error: cuando se utiliza una lista de inicialización (int g[] = {0}; ) para un array, la funciónsizeof(g) da el tamaño del struct MqlArrayObject (creado para un array dinámico).
Документация по MQL5: Основы языка / Операции и выражения / Другие операции
Документация по MQL5: Основы языка / Операции и выражения / Другие операции
  • www.mql5.com
Основы языка / Операции и выражения / Другие операции - Документация по MQL5
 
220Volt:
La esencia del error: cuando se utiliza una lista de inicialización (int g[] = {0}; ) para un array, la funciónsizeof(g) imprime el tamaño del struct MqlArrayObject (creado para un array dinámico).
¿Y al mismo tiempo, ArrayIsDinamic() dice que el array es estático?
 
MetaDriver:
¿Y ArrayIsDinamic() dice que el array es estático?

j - estático

k - dinámico

g - estático

 
220Volt:
....

g - estático

Terrible. Escribe a Sportlotto. Yo lo respaldaré.
 
220Volt:

Pues aquí están los errores. Ciudadanos de las Metaciudades, ¡¡¡por favor, prestad atención!!!

La esencia del error: cuando se utiliza una lista de inicialización (int g[] = {0}; ) para un array, la funciónsizeof(g) da el tamaño del struct MqlArrayObject (creado para el array dinámico).

Gracias por el mensaje, el error ha sido corregido.
 
mql5:
Gracias por el mensaje, error corregido.

¡Ilyas! ¡¡Espera un momento!!

¿Cómo se arregló exactamente? ¿Las matrices que se analizaron en la declaración se volvieron dinámicas (redimensionables)?

¿O completamente estática?

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
MetaDriver:

¿O es completamente estático?
Estática, por supuesto.
 
Renat:
Es un código estático, por supuesto.

Oh, ahora lo veo.

Renat, tengo una sugerencia desde hace mucho tiempo, sólo sobre el tema. Por favor, haz una tipificación con nombre para los arrays, al menos para los estáticos (todos los demás tipos ya lo tienen).

Es decir, puedes declarar por ejemplo: typedef Int8 = int[8];.

El precio de la pregunta es la posibilidad de pasar matrices unidimensionales (2, 3 dimensiones), que son submatrices en matrices de mayor tamaño, a las funciones.

Es decir, si declaras : Int8 arr[...] además, puedes pasar arr[i] a la función func(Int8 &a) {...}.

Actualmente, tengo que realizar un montón de acciones extra en mql5 y escribir un montón de código feo debido a la imposibilidad de pasar subarreglos en las funciones.

No escribo en servicedesk, porque el tema me parece discutible.

Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
Razón de la queja: