Errores, fallos, preguntas - página 881

 
sergeev:
¿cuántos conoces?
Conseguí añadir algunas clases más, pero luego todo se repitió. Estoy intentando localizar el problema, ya que la herencia y la sobrecarga son bastante complejas.
 
A100:
Conseguí añadir algunas clases más, pero luego todo se repitió. Estoy intentando localizar el problema, ya que la herencia y la sobrecarga son bastante complejas.
¿No hay nombres idénticos con funciones #define?
 
sergeev:
c #definir no nombres idénticos con funciones?
Los síntomas se producían de la siguiente manera: en algún momento, al añadir cualquier nuevafunción virtual a la clase, incluyendo la más simple de tipo
virtual bool ABC12345() const { return ( true ); }

comenzó a causar un error: ',' - token inesperado..., con una referencia a una línea en otra clase - mucho antes de la adición especificada, donde antes no había errores y ex5 funcionaba bien. Al mismo tiempo, una adición similar sin la palabra clave virtual no provocó errores. Cambiar los nombres, los parámetros - no tuvo ningún efecto. Luego traté de añadir sólo - una clase simple (sin lo mencionado anteriormente)

class A {};

el mismo error. La paradoja, pero después de añadir la 7ª clase simple el error desapareció. Y no fueron los nombres de las clases los que tuvieron efecto, sino su número. Pero al añadir el ejemplo con virtual el error se produjo de nuevo. De #define sólo había

#define PrintNotEmpty( a, b )   _PrintNotEmpty( b, a )
El análisis reveló que dentro de la función, utilizando la plantilla, se utilizaba una variable, previamente declarada como cadena estática const, lo que puede haber sido la razón - después de la sustitución por la cadena const el error ha desaparecido y no se produce ahora.
 

Código añadido - el mismo error apareció de nuevo - se puede arreglar mediante la adición de una clase vacía

class B {};
Aparentemente hay un número crítico de ellos
 

Último resultado: las conclusiones anteriores no son correctas

Para hacer desaparecer el error, basta con añadir cualquier línea significativa (no un comentario) en cualquier lugar de mq5, por ejemplo

#define XXXXXXXXXXXXX 15
Las funciones virtuales en ex5 están funcionando sin problemas hasta ahora. El problemático mq5 se ha guardado hasta la próxima revisión de ME5
 
Será mejor que envíes el archivo del problema a cd. Sería más útil.
 
En un mes :) a tiempo para la Navidad
 
sergeev:
Será mejor que envíes el archivo del problema a cd. Tendría más sentido.
Este error ya ha sido detectado y corregido.
 
mql5:
Este error ya ha sido detectado y corregido.

 

Pregunta: ¿está documentado el retardo mínimo entre llamadas?

        OrderSend( request, result );
        Sleep( n );
        bool isOK = OrderSelect( result.order );
La pregunta tiene que ver con el hecho de que cuando n = 0 -> isOK = false, y cuando n = 200 -> isOK = true