4.8.6 Renvoyer plusieurs paramètres avec une fonction

Là, ça se complique, on ne peut renvoyer qu'un seul paramètre avec le mot clé return (et si on en met deux à la suite, seul le premier sera exécuter, car dès que l'on appel return on quitte la fonction). La solution est de passer des paramètres que l'on appel entré-sortie. Nous avons à notre disposition l'opérateur & qui renvoie la référence (l’adresse) de la variable passée en paramètre. Dans ce cas si on modifie un paramètre dans la fonction il sera modifier en dehors de la fonction.

Voici un exemple :

1
2
3
4
void getMaximum(double a, double b, double & resultat){
	if(a > b) resultat = a;
	else resultat = b;
}

Bon, là je n'ai mis qu'un seul paramètre retourné, mais mettons en deux :

1
2
3
4
5
6
7
8
9
void getMaximum(double a, double b, double & min, double & max){
	if(a > b){
		max = a;
		min = b;
	}else{
		max = b;
		min = a;
	}
}

Dans ce cas, min est toujours le minimum et max est toujours le maximum

Nous verrons en détail ce qui se passe quand on en sera aux exemples.