私はC++の初心者です。昨日、再帰関数について読んだので、自分で書くことにしました。ここに私が書いたものがあります:
int returnZero(int anyNumber) {
if(anyNumber == 0)
return 0;
else {
anyNumber--;
return returnZero(anyNumber);
}
}
これを行うと: int zero1 = returnZero(4793);
、スタック オーバーフローが発生します。ただし、値 4792 を引数として渡すと、オーバーフローは発生しません。
理由についてのアイデアはありますか?