Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
peut-on utiliser memcpy ?
non )
Vous voyez, si vous devez faire quelques préparations avant d'appeler SendParam, il est plus facile d'envelopper int dans une classe CInt.
Il n'y a pas de façon native de prendre un pointeur. Je veux dire que si vous n'utilisez pas le wrapper CInt dès le début, vous aurez du mal à gérer les pointeurs.
Eh bien, dans les plus, tu fais la cuisine aussi.
{
//do something
}
{
int x = 5;
f(&x);
}
Prendre une adresse est une préparation. Au lieu de cela, ce sera
f(GetPtr(x)) plus vous devez passer le type
Supposons qu'il existe une fonction dans une classe
dans laquelle le type de paramètre (type) et le paramètre lui-même, ou plutôt un pointeur vers celui-ci (void*) sont passés.
Le paramètre peut être de n'importe quel type (classe ou type simple).
Le paramètre peut être de n'importe quel type (une classe ou un type simple).
template<typename T>
void SendReceiveParam(T& param) ;
....
{
double dval = 10 ;
SendReceiveParam(dval) ;
int ival = 10 ;
SendReceiveParam(ival)
...
// ref sur l'objet structure
struct AAA { void operator=(int a) {} } ;
AAA struct_val ;
SendReceiveParam(struct_val) ;
}
d'en écrire un illégal via des pointeurs int ?
Je ne comprends toujours pas l'état du problème. Apparemment, il n'y a pas de formulation claire de ce que nous voulons obtenir, même dans l'exemple.
J'ai déjà écrit deux fois que nous essayons de passer un pointeur à int dans le paramètre void*.
( les options de memcpy et de classe intermédiaire ont déjà été suggérées, pas besoin de les répéter).
J'ai déjà écrit deux fois que nous essayons de passer un pointeur à int dans le paramètre void*.
(memcpy, les options de classe intermédiaire ont déjà été suggérées, pas besoin de les répéter)
quel est le problème, le vide juridique :
template<typename T>
void SendReceiveParam(T& param) ;
Sympa, mais ça ne va pas.
il ne peut pas passer NULL
Merde, au moins en syntaxe C peut-on avoir un exemple de code qui devrait fonctionner en MQL également ?
int a=10;
SendParam(&a);
SendParam(NULL);
int a=10;
SendParam(&a);
SendParam(NULL);
magnifique, mais ça ne va pas.