Ponteiro de ponteiro em MQL5

 

Pessoal,

eu estava implementando uma tabela hash otimizada para minha necessidade e me deparei com o erro que não é possível declarar ponteiro de ponteiro em MQL5.

class Hashtable {

private:

      HashEntry **table;
...

Um erro ocorre na última linha descrita como:

- pointer to pointer is illegal

 Bom, eu entendi que não podemos usar. Alguma sugestão para contornar a limitação? 

 
humbertobrandao:

Pessoal,

eu estava implementando uma tabela hash otimizada para minha necessidade e me deparei com o erro que não é possível declarar ponteiro de ponteiro em MQL5.

Um erro ocorre na última linha descrita como:

 Bom, eu entendi que não podemos usar. Alguma sugestão para contornar a limitação? 

Olá humbertobrandao,

a linguagem MQL5, por mais semelhante que possa parecer com C++, possui algumas limitações "de fábrica"...

Portanto, nem todas as funcionalidade que você encontra em C++ estão presentes na linguagem MQL5.

Por favor dê uma lida nesse artigo: https://www.mql5.com/pt/articles/36

Ele mostra diversas formas de uso e também algumas limitações no uso de ponteiros em MQL5.

Espero ter ajudado.

Abraços,
Malacarne 

Usando os Ponteiros de Objeto no MQL5
Usando os Ponteiros de Objeto no MQL5
  • 2013.12.23
  • MetaQuotes Software Corp.
  • www.mql5.com
Predefinidamente, todos os objetos no MQL5 são passados por referência, mas há a possibilidade de usar os ponteiros de objeto. Porém, é necessário realizar a verificação do ponteiro, porque o objeto pode não ser inicializado. Neste caso, o programa MQL5 será finalizado com o erro crítico e descarregado. Os objetos, criados automaticamente, não causam tal erro, então, neste sentido, são bastante seguros. Neste artigo, tentaremos entender a diferença entre a referência do objeto e o ponteiro do objeto, e considere como escrever o código seguro, que usa os ponteiros.
 
Malacarne:

Olá humbertobrandao,

a linguagem MQL5, por mais semelhante que possa parecer com C++, possui algumas limitações "de fábrica"...

Portanto, nem todas as funcionalidade que você encontra em C++ estão presentes na linguagem MQL5.

Por favor dê uma lida nesse artigo: https://www.mql5.com/pt/articles/36

Ele mostra diversas formas de uso e também algumas limitações no uso de ponteiros em MQL5.

Espero ter ajudado.

Abraços,
Malacarne 

Muito obrigado pela resposta Malacarne. Ajudou bastante. Eu já estava desconfiado, mas você bateu o martelo.

 Abraços

Humberto Brandão 

 
humbertobrandao :

Muito obrigado pela resposta Malacarne. Ajudou bastante. Eu já estava desconfiado, mas você bateu o martelo.

 Abraços

Humberto Brandão 

Talvez isso pode ajudar.

https://www.mql5.com/en/code/277

Hash functions library
Hash functions library
  • votos: 14
  • 2011.01.27
  • Александр Чугунов
  • www.mql5.com
The library contains the following hash functions: adler32, CRC-32, MaHash8v64. Also it has functions for radix conversion of a number.