Na MQL5 há sempre espaço para uma exploração! ;) - página 7

 
o_O:
pode amemcpia ser utilizada?
 
Комбинатор:
pode a memcpia ser utilizada?

não )

Se tiver de fazer alguns preparativos antes de telefonar para o SendParam, é mais fácil envolver-se nalguma classe CInt.

 
o_O:

Não há maneira nativa de levar um ponteiro. Se não utilizar o invólucro CInt desde o início, terá dificuldade em manusear os indicadores.

Bem, nos prós, também se faz a cozinha.


void f(int* value)
{
   //do something
}

{
   int x = 5;
   f(&x);
}

Tomar um endereço é uma preparação. Em vez disso, vai ser

f(GetPtr(x))) mais tem de passar o tipo

 
o_O:

Suponha que existe uma função numa classe

SendParam(int type, void* param)

em que o tipo de parâmetro (tipo) e o próprio parâmetro, ou melhor, um ponteiro para ele (vazio*) são passados.

O parâmetro pode ser de qualquer tipo (classe ou tipo simples).

O parâmetro pode ser de qualquer tipo (uma classe ou um tipo simples).

qual é o problema, vazio legal:
modelo<typename T>
void SendReceiveParam(T& param);
....
{
dval duplo = 10;
SendReceiveParam(dval);
int ival = 10;
SendReceiveParam(ival)
...
// ref sobre o objecto de estrutura
struct AAA { operador vazio=(int a) {} {} };
AAA struct_val;
SendReceiveParam(struct_val);
}

escrever um ilegal através de int pointers?
 
Ainda não compreendo a declaração do problema. Aparentemente não há uma declaração clara do que se pretende alcançar, mesmo no exemplo.
 
fxsaber:
Ainda não compreendo a condição do problema. Aparentemente, não há uma formulação clara do que queremos obter, mesmo no exemplo.

Já escrevi duas vezes que tentamos passar um ponteiro para intrometer no parâmetro void*.

( já foram sugeridas opções de memórias e classes intermédias, sem necessidade de as repetir).

 
o_O:

Já escrevi duas vezes que tentamos passar um ponteiro para intrometer no parâmetro void*.

(já foram sugeridas opções de classe intermédia, não há necessidade de as repetir)

Raios, pelo menos na sintaxe C, pode dar-me um exemplo de código que também deve funcionar em MQL?
 
alexsis78:
qual é o problema, vazio legal:
modelo<typename T>
void SendReceiveParam(T& param);

agradável, mas não encaixa.

não pode passar NULL

 
fxsaber:
Merda, pelo menos na sintaxe C, podemos ter um código de exemplo que também deve funcionar em MQL?
void SendParam(void* );

int a=10;
SendParam(&a);
SendParam(NULL);
 
o_O:
void SendParam(void* );

int a=10;
SendParam(&a);
SendParam(NULL);
Obrigado pelo exemplo! Mas não apanhei o propósito da utilização - conveniência. Por favor adicione outra peça da SendParam para ver como um ponteiro para int, por exemplo, quer ser utilizado.
o_O:

bonito, mas não encaixa.

O que é exactamente bonito? Parece ser uma aplicação frontal de modelos. Ou talvez me esteja a escapar alguma coisa?