int sum (int n) {return n == 1? 1: n + sum (n-1); }
Однако, что означают вызовы братьев и сестер?
Ответ 1
Это должно быть примерно так:
int ispair(int n) { return n == 0 ? 1 : isodd(n-1); }
int isodd(int n) { return n == 0 ? 0 : ispair(n-1); }
В общем случае, если вызов функции является последним предложением, то его можно заменить прыжком.
void x() { ......; y(); }
В этом случае y() можно заменить скачком (или встроенной функцией) вместо использования стандартного вызова функции.
Ответ 2
компилятор рассматривает две функции как братьев и сестер, если они имеют одинаковые структурная эквивалентность типов возврата, а также совмещение пространства требования их аргументов.