Bonjour,

Je n'ai pas bcp d'expérience en implémentation de récursivité et j'ai du mal à interpréter les indications du déboggeur.
Voila la fonction récursive :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
   double Pricer::Pricing_Blac_FD_DecreasingStep(vector<double> initials,int n,double l,double c){
    if(n==0){return 0;}
    else{
     cout << n <<endl;
     double rec=Pricing_Blac_FD_DecreasingStep(initials,n-1,l,c);
     double epsilon=1/pow(n,-(0.25+c));
     Market mar=VA.GetMarket();
     vector<double> aux=initials;
     aux[0]=aux[0]+epsilon;
     Payoff_BLAC pay_up(l,mar,aux);
     aux[0]=aux[0]-2*epsilon;
     Payoff_BLAC pay_down(l,mar,aux);
     DiffPayoff diff(pay_up,pay_down);
        return rec + (compose(diff,VA)()-rec)/(double)n;
    }
}
Je programme s'excute normalement pour n <1081 mais pour n plus grand il y a un probleme à l'exécution:
Le déboggeur affiche :Nom : debug.png
Affichages : 147
Taille : 114,6 Ko

Je pense que le problème est dû au limite de mon ordinateur, peut être limite sur la taille du call stack?
J'espère que quelqu'un pourra m'aider , merci d'avance!