miembro->getValor() versus (*miembro).getValor()

 

Intento lo siguiente:

m_numeroMagico=m_asesor->getNumeroMagico(); 

Y obtengo este error:

'>' - operand expected

Y utilizando esto no obtengo el error:

m_numeroMagico=(*m_asesor).getNumeroMagico();

Tengo entendido que ambas líneas son equivalentes. Pero no lo son tanto si una produce un error y la otra no.

¿Algún comentario esclarecedor?

Gracias.

 
Daniel Eduardo San Martin:

Intento lo siguiente:

Y obtengo este error:

Y utilizando esto no obtengo el error:

Tengo entendido que ambas líneas son equivalentes. Pero no lo son tanto si una produce un error y la otra no.

¿Algún comentario esclarecedor?

Gracias.

El puntero está correctamente inicializado?

Personalmente debo confesar que no conocía la primera forma en la que lo haces.
 
Daniel Eduardo San Martin :

Intento lo siguiente:

Y obtengo este error:

Y utilizando esto no obtengo el error:

Tengo entendido que ambas líneas son equivalentes. Pero no lo son tanto si una produce un error y la otra no.

¿Algún comentario esclarecedor?

Gracias.

MQL no es C++.

No hay operador "->" en MQL porque hay un puntero real, en realidad son "manejadores". Por favor, lea la documentación.

La desreferenciación también es inútil.

m_numeroMagico= (*m_asesor) m_asesor.getNumeroMagico();
 
Alain Verleyen #:

MQL no es C++.

No hay operador "->" en MQL porque hay un puntero real, en realidad son "manejadores". Por favor, lea la documentación.

La desreferenciación también es inútil.

Gracias por aclararme que no hay operador "->" en MQL. Y gracias dobles por avisarme que la desferenciación es inútil, aunque sean tres caracteres el código se ve mucho más claro, especialmente cuando hay multiplicaciones cerca.

 
Enrique Enguix #:
El puntero está correctamente inicializado?

Personalmente debo confesar que no conocía la primera forma en la que lo haces.
No conocías la primera forma porque no pertenece a MQL. Alain Verleyen me lo explica. Además, no necesito los paréntesis y el asterisco de la segunda forma.