Aviso do compilador (nível 1) C4717
'function' : recursiva em todos os caminhos de controle, a função causará estouro de pilha de runtime
Cada caminho por uma função contém uma chamada para a função. Como não há maneira de sair da função sem antes chamar a ela própria recursivamente, a função nunca sairá.
O seguinte exemplo gera o erro C4717:
// C4717.cpp
// compile with: /W1 /c
// C4717 expected
int func(int x) {
if (x > 1)
return func(x - 1); // recursive call
else {
int y = func(0) + 1; // recursive call
return y;
}
}
int main(){
func(1);
}