Upozornění kompilátoru (úroveň 1) C4717
'function' : rekurzivní na všech řídicích cestách, funkce způsobí přetečení zásobníku modulu runtime.
Každá cesta přes funkci obsahuje volání funkce. Vzhledem k tomu, že neexistuje způsob, jak funkci ukončit, aniž by se nejprve volala rekurzivně, funkce nikdy neodejde.
Následující ukázka vygeneruje 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);
}
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro