Przepełnienie stosu (Visual C++2008)

0

Cześć,
mam w Visual C++ 2008 napisaną sekwencję następującego typu:

 
for(int i=1; i<=10; i++)
 for (int j=1; j<=10; j++)
    if(condition()) return  true;

Kod ten znajduje się wewnątrz funkcji f() i teraz po wywołaniu f w takiej postaci jak wyżej wywala mi komunikat o przepełnieniu stosu. Jest to nieco dziwne, bo nie są tu tworzone żadne nowe zmienne, które mogłyby pozostać gdzieś w pamięci (w condition() nie ma ani jednego new, w funkcjach wywoływanych przez condition też nie). O co chodzi? Czy to jest związane z optymalizacją przeprowadzaną przez kompilator? Jak to rozwiązać? Zamiana pierwszej linijki na i<=4 sprawia, że nie dostaję takiego komunikatu.

0

pokaż to condition()

0

A na pewno te pętle maja iść od 1 do 10 a nie od 0 do 9? Uruchom to pod debuggerem i zobaczysz gdzie pojawia sie błąd...

0

Fragment kodu, który pokazałeś na pewno nie wywołuje tego wyjątku.

0

condition() wywoluje jakas funkcje rekurencyjna ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1