Errores, fallos, preguntas - página 1201
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
Un error en el funcionamiento de las funciones virtuales
Resultado: A::f(), debería ser B::f()
Ayuda para instalar META TRADER 4 en OS MAVERICKS, DESCARGADO TODOS LOS PROGRAMAS, JUGAR EN MAC, TODO NUEVO, TODO DA ERROR.
/*moderador: enviar el texto del error como un archivo*/
2 - Antes de la depuración.
3 - después.
Tal vez haya diferencias allí, no entiendo nada en absoluto)
Muchas gracias)
Error de compilación
mientras que const no debe seguir estática
Además, se trata de una protección falsa, ya que static se modifica con la función habitual h() y A::f() const ni siquiera lo sabrá
Un error en el funcionamiento de las funciones virtuales
Resultado: A::f(), debería ser B::f()
Error de compilación
mientras que const no debe seguir estática
Además, se trata de una protección falsa, ya que static se modifica con la función habitual h() y A::f() const ni siquiera lo sabrá
Error de compilación 358 en todos los casos de llamada a h( A* a)
Sólo se justifica en (3) y (4) porque no es h( const A* a)
Una situación similar se corrigió anteriormente https://www.mql5.com/ru/forum/1111/page1218#comment_1058402 pero la razón es probablemente diferente ya que la presencia de const en la declaración void f() const influye en la aparición de errores y no había funciones miembro allí
No compila en la compilación 976 (error 358, pero difiere de los errores descritos anteriormente en la compilación 975).
La razón podría ser que la compilación 976 arregló el error relacionado con el hecho de que una función normal llamada desde un método de clase const podía modificar los miembros de la clase que se le pasaban por una referencia no-const&. Pero aquí el puntero es un miembro de la clase y se garantiza que su valor no se modificará al llamar a h( A* a), sino que sólo podrá modificarse al declarar h( A* &a )No compila en la compilación 976 (error 358, pero difiere de lo descrito anteriormente en que no se produjeron errores en la compilación 975)
La razón podría ser que la compilación 976 arregló el error relacionado con el hecho de que una función normal llamada desde un método de clase const podía modificar los miembros de la clase que se le pasaban por una referencia no-const&. Pero aquí el puntero es un miembro de la clase y se garantiza que su valor no cambiará cuando se llame a h( A* a), sino que sólo podrá cambiarse cuando se declare h( A* &a ).