Stack Overflow bei reskursivem Methodenaufruf

freak-like-me

Grünschnabel
Hallo zusammen,

ich habe ein Problem. Und zwar habe ich eine Methode, die rekursiv mehrmals aufgerufen wird. Nun habe ich das Problem, dass dadurch ein Stack Overflow entsteht. Gibt es irgendwie eine Möglichkeit diesen Overflow zu vermeiden? Ich weiß, dass man die Stackgröße in Visual Studio anpassen kann, aber das hilft nur bedingt weiter, denn wie oft die Methode rekursiv aufgerufen wird ist variable und somit kann ich auch nie genau sagen wie groß der Stack sein muss, damit nichts passiert.

HILFE******

Kann man Stack Overflow's in C++ irgendwie durch Try und Catch abfangen?

Gruß
 
Hallo,

bist du dir sicher, dass die Abbruchbedingung deiner Rekursion richtig ist? Wenn nicht, hilft ein größerer Stack auch nichts.

Ansonsten hast du immer die Möglichkeit, einen eigenen Stack zu verwalten und deinen Algorithmus somit iterativ zu implementieren.

Grüße,
Matthias
 
Hi

Try-Catch: Selbst wenn, würde es das Grundproblem nicht lösen.

Und dieses Stack-(Speicher generell)-Problem ist eben der Nachteil von Rekursionen.
Schreibs iterativ (also nicht rekursiv).
Wenn du die Funktion zeigst, kann man dir damit helfen.
 
Zurück