Ben, si on reprend cet exemple :
exemple
int fact(int &);
int main()
{
int n = 6;
cout << fact(n);
}
int fact (int & n)
{
if (n == 1)
return 1;
else
n--;
return (n + 1) * fact(n);
}
le "return (n-1)" une valeur, et le n de "*fact (n)" est une référence, donc doit bien pointer sur l'objet initial, non ?