Bonjour
J'ai déjà sollicité le forum mais il me reste un problème
Dans la séquence de programme suivante 2 erreurs apparaissent toujours et j'avoue mon impuissance

ligne 43 'result_type' does not name a type
ligne 57 'result_type' does not name a type
Les 2 méthodes ont, me semble-t-il, été normalement définies (lignes 35 36)

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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
struct brownian : public processus<double>
{
       brownian(int n, double T=1)
                 : processus<double>(pow(2.,n)+1.), n(n), T(T),  //ligne 33
                 h(T/pow(2., n)), G(0,h) {};                   //ligne 34
       result_type operator()();                               //ligne 35
       result_type affine();                                   //ligne 36
       friend struct black_scholes;
       protected:
       int n;
       double h, T;
       gaussian G ;                                            //ligne 41
};
result_type brownian::operator()()                            //ligne 43
{
       value.clear();
       state val_k(0,0);
       value.push_back(val_k);
       do 
          {val_k.first += h;
           val_k.second += G();
           value.push_back(val_k);
           } 
       while (val_k.first < T);
       return value;
}
//Classe brownian, définition de la méthode affine
result_type brownian::affine()  //ligne 57
{
            n++; h *= 0.5;
            G = gaussian(0, 0.5*h);
            iter precedent = value.begin(), current = ++value.begin();
            while (current != value.end()) 
            {
             value.insert(current,
             state(0.5*((*current).first+(*precedent).first),
             0.5*((*current).second+(*precedent).second)+G()));
             precedent = current;
             current++;
             }
             return value;
};
................ Merci ..........