Advertencia del compilador (nivel 1) C4717
Actualización: noviembre 2007
Mensaje de error
'función': recursiva para todas las rutas de acceso de control; la función provocará el desbordamiento de la pila en tiempo de ejecución
'function' : recursive on all control paths, function will cause runtime stack overflow
Toda las rutas de acceso de una función contienen una llamada a la función. Dado que no hay forma de salir de la función sin que ésta se llame a sí misma recursivamente, la función nunca termina su ejecución.
El ejemplo siguiente genera el error 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);
}