Errores, fallos, preguntas - página 2752

 
Sergey Dzyublik:

Al menos ejecuta un depurador antes de escribir declaraciones ridículas.
En el segundo bucle i == 1 y j == 1, y en el tercer bucle y así sucesivamente ambos son uno más.

al menos termina la escuela antes de acusar a extraños de algo.

en la lengua rusa, un signo de interrogación al final de una frase no significa necesariamente una afirmación.

 
Igor Makanu:

Deberías al menos terminar la escuela antes de acusar a extraños de algo
¡En el idioma ruso, un signo de interrogación al final de una frase no significa una afirmación!

Siento haber herido tus sentimientos...
Espero que consigas averiguar cómo funciona el insidioso modificador const en MQL.

Errores, fallos, preguntas

Igor Makanu,2020.03.21 10:26

no funcionaba así el año pasado - estaba probando a propósito los modificadores const
y parece que@Ilyas explicó cómo ejecutar un programa MQL. Primero se inicializan todos los const y static sin importar dónde se describan y luego se llaman los constructores de la clase
ok, con esta inicialización static / const - se puede distribuir correctamente, pero el modificador const no garantiza que el compilador lo compruebe - muy inesperado - mi segundo ejemplo


 
Sergey Dzyublik:

Perdona si he herido tu dignidad...
Espero que seas capaz de averiguar cómo funciona el insidioso modificador const en MQL.

Lo siento, lee el contexto, incluyendo los delimitadores

Tú y yo tenemos diferentes tareas para estar en el foro, tú eres un forofo sabelotodo que se eleva respondiendo a las preguntas de los usuarios del foro, mientras que yo no tengo miedo de hacer una pregunta en el foro y no tengo miedo de mostrar mi ignorancia de la misma.... ¿Por qué hacer una pregunta si se sabe la respuesta?

aunque tal vez seas un representante de la industria de la seguridad, una vez más tratando de encontrar mis mensajes en la historia del foro para adjuntarlos a la discusión actual ... ¡lee la primera línea de este mensaje!

 

Durante la depuración y cuando el indicador está funcionando por sí mismo, en el registro, de repente escribe Stack overflow. Cuando se depura, aparece el mensaje "Se ha producido un error crítico, la depuración se ha detenido". Aquí está mi hilo similar:https://www.mql5.com/ru/forum/338301. Pero durante la compilación el compilador no regaña y todo va bien. Al depurar, es imposible determinar en qué momento el programa se bloquea.

¿Tal vez sea el compilador? No me interesa mucho el compilador que estoy usando, pero en mi configuración se ve así:

Compiladores

Tengo instalado VS, por lo que tengo este enlace en la configuración. ¿Así que el compilador también es apropiado...? Pero que compilador había cuando no tenía VS, sinceramente no me metí en ello. ¿Tal vez debería intentar volver a ese compilador e intentar compilar el proyecto con él?

Ошибка при дебаге (Возникла критическая ошибка, отладка остановлена)
Ошибка при дебаге (Возникла критическая ошибка, отладка остановлена)
  • 2020.04.23
  • www.mql5.com
Решил поэкспериментировать со стандартным UI компонентом CAppDialog...
 
fxsaber:

Hace poco descubrí un símbolo en el que los dígitos estaban mal puestos. Pedí al corredor que lo corrigiera. Lo hizo en el acto. No se ha mirado si el valor de la variable _Digits y Digits() ha cambiado. Pero es un hecho que el símbolo puede cambiar sus valores sobre la marcha.

El valor de _Digits no debería haber cambiado al menos porque se encuentra en un bloque de memoria de sólo lectura

 
Mihail Matkovskij:

Durante la depuración y cuando el indicador está funcionando por sí mismo, en el registro, de repente escribe Stack overflow. Cuando se depura, aparece el mensaje "Se ha producido un error crítico, la depuración se ha detenido". Aquí está mi hilo similar:https://www.mql5.com/ru/forum/338301. Pero durante la compilación el compilador no regaña y todo va bien. Al depurar, es imposible determinar en qué momento el programa se bloquea.

¿Tal vez sea el compilador? No me interesa mucho el compilador que estoy usando, pero en mi configuración se ve así:

Tengo instalado VS, por lo que tengo este enlace en la configuración. ¿Así que el compilador también es apropiado...? Pero que compilador había cuando no tenía VS, sinceramente no me metí en ello. ¿Tal vez deberíamos intentar volver a ese compilador e intentar compilar el proyecto con él?

¿Cómo se puede cambiar el compilador?

 
A100:

El valor de _Digits no debería haber cambiado, aunque sólo sea porque se encuentra en un bloque de memoria de sólo lectura

Resulta entonces que este valor podría ser tramposo.

 
Andrey Barinov:

Siempre ha sido posible (F3). Funcionan.

por F3 sí funcionan, pero en el menú no.

 
fxsaber:

Resulta entonces que este valor puede engañar.

Por lo tanto, en aras de la rigurosidad, debemos utilizarDigits() en lugar de _Digits. Entonces formalmente no hay contradicción lógica - Digits() no está conectado por el modificador const.

Por lo que entendí _Digits era necesario para la compatibilidad con MT4 - nada más

 
Igor Makanu:

¿el script debe devolver suma = 0?

¿o debería este script devolver un error de compilación?

La función f se ejecuta en cada iteración, por lo que no es 0. Entiendo a qué se refería tu malentendido. En C# el especificador const se utiliza sólo para expresiones constantes calculadas en la fase de compilación. En C++ hay un análogo para eso: constexpr.Y en MQL no hay ninguno.
Razón de la queja: