Errores, fallos, preguntas - página 1615
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
Error de compilación:
Aquí hay un par de errores más:
Y también hay algo que falla en la conversión del puntero.
El siguiente código no compila:
aunque aquí la conversión es explícita. Todo funciona en C++.
Y también hay algo de desorden en la introducción de los carteles.
Es cierto, el compilador está luchando.
Ve a leer sobre dynamic_cast, static_cast y reinterpret_cast y cuándo usarlos correctamente y cuándo no.
C++ convierte este código en reinterpret_cast y MQL en dynamic_cast. Y por lo que tengo entendido, este es exactamente el caso cuando el compilador puede encontrar un error de dynamiccast durante la compilación.
reinterpret_cast es ilegítimo en este caso, por lo que el hecho de que este código compile en C++ no es un argumento.
C++ convierte este código en reinterpret_cast y MQL en dynamic_cast. Y por lo que tengo entendido, este es exactamente el caso cuando el compilador puede encontrar un error de dynamiccast durante la compilación.
Reinterpret_cast es ilegítimo en este caso, por lo que el hecho de que este código compile en C++ no es un argumento.
Espera, ¿por qué mezclas las cosas? ¿Qué tiene que ver el reparto dinámico? Las tareas del compilador no incluyen hacer de Sherlock Holmes y buscar algo en la lógica del programa. Sólo realiza una comprobación formal del cumplimiento de la norma del lenguaje, nada más. Y todo es correcto desde el punto de vista de la norma.
Si hubieras mirado bien mi ejemplo, habrías visto que el problema estaba relacionado con protected. Si lo cambias a public, todo está bien. El objeto en sí no se modifica por esto, es decir, el compilador MQL sólo tiene una restricción innecesaria, eso es todo.
Así que no especules y busques un significado secreto donde no lo hay, que no es más que un error trivial del compilador.