Avviso del compilatore (livello 1) C4717
'function': ricorsiva in tutti i percorsi di controllo, la funzione causerà l'overflow dello stack di runtime
Ogni percorso attraverso una funzione contiene una chiamata alla funzione . Poiché non esiste alcun modo per uscire dalla funzione senza prima chiamare se stesso in modo ricorsivo, la funzione non verrà mai chiusa.
L'esempio seguente genera l'errore 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);
}