Ich muss zur vorherigen Ebene der Rekursion zurückkehren. Ist die Syntax wie unten richtig?
void f()
{
// some code here
//
return;
}
Ich muss zur vorherigen Ebene der Rekursion zurückkehren. Ist die Syntax wie unten richtig?
void f()
{
// some code here
//
return;
}
Ja, manchmal möchten Sie vielleicht void() zurückgeben, anstatt einfach nichts.
Betrachten Sie eine ungültige Funktion, die einige pass-through ungültige Funktionen ohne eine Reihe von if-else aufrufen möchte.
return
InputEvent == E_Pressed ? Controller->Grip() :
InputEvent == E_Released ? Controller->Release() :
InputEvent == E_Touched ? Controller->Touch() : void();
Wie alle anderen schon sagten: Ja, das können Sie. In diesem Beispiel ist die Rückgabe nicht notwendig und dient einem fragwürdigen Zweck. Ich denke, was Sie meinen, ist eine frühe Rückkehr in der Mitte einer Funktion. Das kann man auch machen, aber es ist eine schlechte Programmierpraxis, weil es zu einem komplizierten Kontrollfluss führt (nicht single-entry single-exit), zusammen mit Anweisungen wie break. Überspringen Sie stattdessen einfach den Rest der Funktion mit Hilfe von Konditionalen wie if/else().
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
29 Stimmen
H