Desbordamiento de pila causado por la función recursiva.

Siendo un principiante en la programación de C ++ y en la arquitectura de los sistemas informáticos, todavía estoy aprendiendo los conceptos básicos de C ++. Ayer leí sobre la función recursiva, así que decidí escribir la mía, esto es lo que escribí: (muy básico)

int returnZero(int anyNumber) {
    if(anyNumber == 0)
        return 0;
    else  {
        anyNumber--;
        return returnZero(anyNumber);
    }

}

Y cuando hago esto: int zero1 = returnZero (4793); provoca un desbordamiento de pila, sin embargo, si paso el valor 4792 como parámetro, no se produce ningún desbordamiento.

Alguna idea de por qué ?

Respuestas a la pregunta(6)

Su respuesta a la pregunta