Advertencia del compilador (nivel 1) C4717
"function": recursiva para todas las rutas de acceso de control; la función provocará el desbordamiento de pila en tiempo de ejecución
Cada ruta de acceso a través de una función contiene una llamada a la función. Como no hay ninguna manera de salir de la función sin llamarse primero de manera recursiva, la función nunca se cerrará.
El ejemplo siguiente genera la advertencia 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);
}