Bonsoir,

Je suis en train de faire un projet en C++ et je rencontre quelques soucis dans mes constructeurs de classe.

J'ai une classe Option de laquelle je fais hériter une classe Option barrière :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
class Option:public Loi_Proba{
protected:
	double T;
	PayOff &P;
	Processus &S; // modèle de la dynamique du sous-jacent 
	RisklessAsset &RA;// modèle pour le taux d'intérêt 
public:
	Option(RisklessAsset &RAi, PayOff &Pi, Processus &Si, double Ti=1.);
	Option();
};
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
class OptionBarriere:public Option{
	double bg,bd; // le domaine est un intervalle de la forme (bg,bd)
public:
	OptionBarriere(RisklessAsset &RAi, PayOff &Pi, Processus &Si,double bgi=0, double bdi=60, double Ti=1.);
	double Simule() const;
};
Je définis mes constructeurs en utilisant une liste d'initialisation mais VS me renvoie l'erreur suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 error C2614: 'OptionBarriere'*: initialisation de membre non conforme*: 'S' n'est ni une base ni un membre
error C2614: 'OptionBarriere'*: initialisation de membre non conforme*: 'RA' n'est ni une base ni un membre
error C2614: 'OptionBarriere'*: initialisation de membre non conforme*: 'P' n'est ni une base ni un membre
Est-ce que quelqu'un aurait une idée d'où peut provenir le problème ?

Par ailleurs, juste avant que je touche un peu mon code, ça compilait mais j'avais des problèmes d'allocation de mémoire quand je lançais certaines méthodes qui n'utilisaient que des sous-méthodes qui fonctionnent parfaitement individuellement. C'est peut-être lié à une mauvaise construction de mes objets...

Merci d'avance de votre aide.

Cédric.