![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¿Qué métodos? ¿Qué firmas?
Cualquier método.
Cualquier método.
¿Qué tiene eso que ver?
Sí, trabajamos como con una dimensión. No es necesario describir la estructura de los datos: lo leemos todo en una fila.
¿Qué tiene eso que ver?
No se puede definir una función (por ejemplo, eliminar un elemento) con el mismo nombre (por ejemplo, ArrayRemove) definida de la misma manera para arrays de diferentes tamaños (a menos que sea un desarrollador de compiladores MQL)
Además, no podrá definir dicha función con el mismo nombre, sobrecargando varias variantes de llamadas
Tendrás que escribirlo así
ArrayRemove(var&[],int)
ArrayRemove2(var&[][],int)
ArrayRemove3(var&[][],int)
ArrayRemove4(var&[][][][],int)
Así que manejar un array multidimensional como un array unidimensional tampoco tiene sentido, a menos que quieras redefinir todas las funciones de array de nuevo en cada una de las clases que las utilizan
No se puede definir una función (por ejemplo, eliminar un elemento) con el mismo nombre (por ejemplo, ArrayRemove) definida de la misma manera para matrices de diferentes tamaños (a menos que sea un desarrollador de compiladores MQL)
Además, no podrá definir dicha función con el mismo nombre, sobrecargando varias variantes de llamadas
Tendrás que escribirlo así
ArrayRemove(var&[],int)
ArrayRemove2(var&[][],int)
ArrayRemove3(var&[][],int)
ArrayRemove4(var&[][][][],int)
Así que manejar un array multidimensional como un array unidimensional no tiene sentido, a menos que quieras redefinir todas las funciones de array de nuevo en cada clase que las utilice
Sí, pero eso no es tan malo.
No se puede definir una función (por ejemplo, eliminar un elemento) con el mismo nombre (por ejemplo, ArrayRemove) definida de la misma manera para matrices de diferentes tamaños (a menos que sea un desarrollador de compiladores MQL)
Además, no podrá definir dicha función con el mismo nombre, sobrecargando varias variantes de llamadas
Tendrás que escribirlo así
ArrayRemove(var&[],int)
ArrayRemove2(var&[][],int)
ArrayRemove3(var&[][],int)
ArrayRemove4(var&[][][][],int)
Así que manejar un array multidimensional como un array unidimensional no tiene sentido, a no ser que quieras redefinir de nuevo todas las funciones de trabajo con arrays en cada una de las clases que los utilizan
Ilya, estás pasando de la técnica de programación al planteamiento del problema.
Arrastrarse hacia atrás, hacer cosas al revés.
Mi nieta ya está dormida, de lo contrario le habría llamado la atención sobre el hecho de que los elementos de la matriz en la memoria MT están continuamente ordenados.
los elementos de la matriz en la memoria MT están dispuestos de forma continua.
¿Y qué crees que tiene esto que ver con la tarea en cuestión (clase de tareas - trabajo unificado con arrays de diferentes dimensiones a través de funciones)?
Por ejemplo, quieres hacer una función para eliminar un elemento de un array independientemente de su dimensionalidad. O quieres hacer una clase que trabaje con arrays de diferentes dimensiones. ¿Crees que se puede hacer eso en mql?