Errores, fallos, preguntas - página 1619

 
Slawa:

La función del sistema Point() está realmente alineada y convertida en un simple acceso a la variable _Point

Alguien decía, si no recuerdo mal Renat o tú, que es recomendable utilizar Point(), Digits()... ¿Es esto cierto? Al menos, yo siempre lo hago, teniendo en cuenta la recomendación.
 
Andrey Dik:
Alguien dijo, si no recuerdo mal, Renat o tú, que es recomendable utilizar Point(), Digits()... ¿Es esto cierto? Al menos, recordando la recomendación, siempre lo hago.

Sí, así es.

La próxima vez daré ejemplos que se ajustan a nuestras recomendaciones

 

Algunas preguntas y peticiones a los desarrolladores.

Hace un año discutimos la idea de devolver el valor de la función por referencia (petición 1292558). Finalmente nos aseguraron que el tema estaba resuelto y que la función aparecería a finales de otoño (del año pasado). Pero todavía estamos aquí. ¿Podemos preguntar por qué no se ha implementado?

2. ¿Qué pasa con la herencia múltiple? Yo, por ejemplo, la necesito de verdad. Al menos la herencia doble.

3. la palabra clave override para las funciones virtuales en las clases derivadas es algo absolutamente necesario para la POO. El compilador no podrá controlarlas de otra manera: si se establece un tipo de argumento incorrecto en alguna parte o se olvida de usar const en alguna parte, eso es todo - se trata de una función diferente. También obtenemos errores que son difíciles de atrapar.

4. necesitamos la posibilidad de sobrecargar el operador fantasma.

 

También hay que perfeccionar las plantillas de las funciones. Ahora mismo, todos los nombres de tipo están conectados a los argumentos de las funciones, por lo que muchas construcciones no se pueden implementar. Por ejemplo, este:

template<typename T> 
T  func()  { return T(0); }

void OnStart()
{
  func<int>();
}

Por supuesto, esto se puede solucionar pasando argumentos ficticios a la función, pero entiendes que confunde mucho el código.

 
Alexey Navoykov:

También hay que perfeccionar las plantillas de las funciones. Ahora mismo, todos los nombres de tipo están conectados a los argumentos de las funciones, por lo que muchas construcciones no se pueden implementar. Por ejemplo, este:

Por supuesto, esto se puede resolver de forma muleta, pasando argumentos ficticios a la función, pero entiendes que confunde mucho el código.

Está en nuestros planes y lo haremos.
 

También me gustaría que el compilador especificara en el log el tipo de la variable que causó el error cuando detecta un error dentro de la plantilla, de lo contrario puede ser muy difícil encontrarlo.

Supongamos el siguiente fragmento de código:

void F(A& a)  {  }
void F(B& a)  {  }


template<typename T> 
void    Func(T& obj)  { F(obj); }   // 'F' - no one of the overloads can be applied to the function call

No sabemos a qué tipo corresponde T aquí, por lo que es difícil determinar desde qué parte del programa se llamó a este patrón. Y puede haber muchos fragmentos de este tipo, incluidos los de otras plantillas. Y si el compilador hubiera escrito que obj es de tipo C, por ejemplo, habrías entendido enseguida dónde buscar.

 
Bild 985 no se conoce el error

Abierto, Iniciado: 2016.07.04 06:48, #1507434

A punto de cumplirse un mes ....

 
Vladimir Pastushak:
Bild 985 no se conoce el error

Abierto, Iniciado: 2016.07.04 06:48, #1507434

A punto de cumplirse un mes ....

Los administradores y desarrolladores no se van un fin de semana sin responder...

 
Hola a todos. Hice esta pregunta hace varias páginas, pero lo intentaré de nuevo. ¿Hay alguna forma de volver a entrar en mi cuenta cuando se interrumpe la conexión con el servidor de MT5? La búsqueda en los foros no dio nada.
 
Dmitri Custurov:
Hola a todos. Hice esta pregunta hace varias páginas, pero lo intentaré de nuevo. ¿Hay alguna forma de volver a entrar en mi cuenta cuando se interrumpe la conexión con el servidor de MT5? La búsqueda en los foros no dio nada.
No, no puedes. Pero la reconexión es automática, así que no es necesario.