tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
335
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    freak-like-me freak-like-me ist offline Grünschnabel
    Registriert seit
    Sep 2011
    Beiträge
    3
    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ß
     

  2. #2
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.802
    Blog-Einträge
    5
    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
     
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  3. #3
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    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.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 16.03.11, 23:12
  2. Stack overflow - mehr Speicher?
    Von Paul im Forum Java
    Antworten: 3
    Letzter Beitrag: 26.11.09, 09:28
  3. Stack Overflow bei Klasse
    Von Futzel im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 17.06.09, 00:19
  4. Stack overflow
    Von DataFox im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 31.12.07, 13:33
  5. Stack Overflow beim Eventhandling
    Von d_Artagne im Forum .NET Café
    Antworten: 1
    Letzter Beitrag: 14.08.05, 16:19