Salut,
j'ai un gros problème avec les "vector" que je n'arrive pas à resoudre:
pour simplifier, il y a une classe "Processus" qui contient un attribut membre de type réference sur vector de double.
la classe "ProcessusBSS" derive de "Processus".
et dans le .cpp:
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 using namespace std; class Processus { private: vector<double> m_Paramdef; protected: double m_h; vector<double> & m_Param; public: virtual double getIncrement(double Current_Pos,double Alea){return 0;}; virtual vector<double> getSample(double Starting_Pos, vector<double> Alea, long NbrePas){ vector<double> res(0); return res;}; Processus(double h, vector<double> & Param); virtual ~Processus(); Processus(Processus & p); Processus(); double get_h(){return m_h;}; void set_h(double h){m_h=h;}; };
et dans le .cpp d'une autre classe "Produit" je fais appel au constructeur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Processus::Processus(double h, vector<double> & Param) : m_h(h) , m_Param(Param) {} Processus::Processus(Processus & p) : m_h(p.m_h) , m_Param(p.m_Param) {}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Produit(...) : m_S0(S0){ vector<double> parami(5); // je rempli le vecteur avec des valeurs comme suit: parami[0]=...; parami[1]=...; parami[2]=...; parami[3]=...; parami[4]=...; m_PS=ProcessusBSS(0.004,paramii);// ERREUR ...
Le compilateur me renvoi l'erreur suivante:
error:non-static reference member `std::vector<double, std::allocator<double> >&Processus::m_Param' can't use default assignement operator
j'ai tout essayé sans résultat.
Je bloque dessus depuis deux jours .
est ce que quelqu'un pourrait m'aider à comprendre d'où vient mon erreur?
Partager