Plus généralement, un ensemble de définitions est mutuellement récursif
si la relation << appelle
>> admet un cycle :
appelle
...appelle
appelle
.
L'exemple suivant est classique
(et sans grand intérêt) :
bool pair(int n); bool impair(int n) { if (n == 0) { return false; } else { return pair(n-1); } } bool pair(int n) { if (n == 0) { return true; } else { return impair(n-1); } }
Les fonctions pair et impair s'appellent mutuellement
: