Bonjour,

J'ai un petit problème avec comme message d'erreur : '&' nécessite une l-value

Explication du code :

J'ai une classe Point (dans un namespace dom).
Cette classe contient un x et un y.

J'ai maintenant une classe _non membre_ echange() qui doit échanger les valeurs de x et y.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
void echange(int* x, int* y){
	int temp = *x;
	*x = *y;
	*y = temp;
} // end echange()

Dans mon main, lorsque que j'utilise ma fonction non membre echanger(), j'obtiens l'erreur !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
point monPoint = point();
echange(&monPoint.get_x(),&monPoint.get_y()); // erreur: '&' nécessite une l-value
J'ai également essayer comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
int* ptr_x = &monPoint.get_x(); // erreur: '&' nécessite une l-value
int* ptr_y = &monPoint.get_y(); // erreur: '&' nécessite une l-value
echange(ptr_x,ptr_y);
Mais je n'ai pas eu plus de chance ...

Pouvez-vous m'aidre?