Compilerwarnung (Ebene 1) C4717
'Function' : rekursiv auf allen Steuerelementpfaden, Funktion führt zu Laufzeitstapelüberlauf
Jeder Pfad durch eine Funktion enthält einen Aufruf der Funktion. Da es keine Möglichkeit gibt, die Funktion zu verlassen, ohne sich zuerst rekursiv aufzurufen, wird die Funktion nie beendet.
Im folgenden Beispiel wird C4717 generiert:
// 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);
}
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für