Errores, fallos, preguntas - página 2679
![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
2365 - el código estaba salpicado de errores. Todavía no he tenido tiempo de resolverlo. He retrocedido hasta el 2361 y todo ha ido bien. En mq4 - la misma situación.
Gracias por el mensaje, lo comprobaré
Parece estar en el paso de parámetros al llamar al constructor de la clase base.
Bug MT5 (build 2365) Error de compilación en la llamada implícita del constructor a la clase que utiliza el operador de asignación, cuando se utiliza el puntero que pasa por referencia como argumento del constructor.
Si el paso de punteros por referencia se sustituye por el paso de valores, todo funciona.
Gracias por el post, arreglado
Error de compilación en MT5 (build 2365) al llamar al constructor de la clase base cuando se utiliza el parámetro de la plantilla como clase base.
No hay problemas en MT5 (build 2363).
Podemos ver que ArrayResize para objetos es más rápido ahora.
Una vez más, la complejidad de una parte de la función ArrayResize se redujo de logaritmo a cero
Muchas gracias por acelerar ArrayResize para la memoria reservada.
MT5 (build 2365) en un proyecto real std::vector::push_back es 1,5 veces más rápido que el build anterior.
Y el retraso de std::vector:resize ha disminuido de 2,2 veces a 1,45 veces.
build 2366, creo que las constantes no funcionan correctamente ahora
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 1. 4
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 2. 5
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 3. 6
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 4. 7
si sustituye const por static , funcionará como se espera - una llamada a f1() y f2() durante la inicialización de a y b
2020.03.21 12:58:03.496 tst (EURUSD,H1) A::f1
2020.03.21 12:58:03.496 tst (EURUSD,H1) A::f2
2020.03.21 12:58:03.496 tst (EURUSD,H1) 1. 4
2020.03.21 12:58:03.496 tst (EURUSD,H1) 2. 5
2020.03.21 12:58:03.496 tst (EURUSD,H1) 3. 6
2020.03.21 12:58:03.496 tst (EURUSD,H1) 4. 7
Si escribes el código así, es un error total que no se puede coger
build 2366, creo que las constantes no funcionan correctamente ahora
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 1. 4
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 2. 5
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 3. 6
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f1
2020.03.21 12:55:59.904 tst (EURUSD,H1) A::f2
2020.03.21 12:55:59.904 tst (EURUSD,H1) 4. 7
si sustituye const por static , funcionará como se espera - una llamada a f1() y f2() durante la inicialización de a y b
2020.03.21 12:58:03.496 tst (EURUSD,H1) A::f1
2020.03.21 12:58:03.496 tst (EURUSD,H1) A::f2
2020.03.21 12:58:03.496 tst (EURUSD,H1) 1. 4
2020.03.21 12:58:03.496 tst (EURUSD,H1) 2. 5
2020.03.21 12:58:03.496 tst (EURUSD,H1) 3. 6
2020.03.21 12:58:03.496 tst (EURUSD,H1) 4. 7
Así es exactamente como debería funcionar.
Si escribes el código así, es un error totalmente indetectable.
Aquí también todo es correcto.
Así es exactamente como debería funcionar.
El año pasado no funcionó así - probé especialmente los modificadores const
y parece que@Ilyas explicó cómo ejecutar un programa MQL, primero se inicializan todas las const y static, no importa dónde se describan, y luego se llaman los constructores de la clase
ok, con esta inicialización static / const - todavía se puede distribuir correctamente, pero el hecho de que el modificador const no garantiza que el compilador compruebe esto es muy inesperado - mi segundo ejemplo