Bonjour, j'ai les classes suivantes :
walidSol.h :
Walid.h :
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 #ifndef WALIDSOL_H_20100912_PLP_ #define WALIDSOL_H_20100912_PLP_ #include <vector> #include <ostream> class WalidSol { public : WalidSol() {} WalidSol(const std::vector<int> sol,double err,double taille) : _sol(sol), _err(err), _taille(taille) {} ~WalidSol() {} // getters const std::vector<int> & getSol() const { return _sol; } const double & getErr() const { return _err; } const double & getTaille() const { return _taille; } // setters void setSol(const std::vector<int> & sol) { _sol = sol; } void setErr(double err) { _err = err; } void setTaille(double taille) { _taille = taille; } // ecriture de la classe WalidSol dans le flux os std::ostream & print(std::ostream & os) const; friend std::ostream & operator << (std::ostream & os,const WalidSol & w) { return w.print(os); } private : std::vector<int> _sol; // quantite de chacun des motifs dans le secteur double _err; // marge d'erreur calculee pour la solution _sol double _taille; // taille de la solution trouvee }; #endif
et j'ai l'erreur suivante :
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
43 #ifndef WALID_H_20100909_PLP_ #define WALID_H_20100909_PLP_ #include <vector> #include "WalidSol.h" class Walid { public : Walid(double tailleSect, double marge, const std::vector<double> & tailleMotif); ~Walid() {} // getters std::vector<WalidSol> & getSol() const { return _sol; } const std::vector<int> & getNbMotifMax() const { return _nMotifMax; } const double & getTailleSect() const { return _tailleSect; } const double & getMarge() const { return _marge; } const size_t getNbSol() const { return _sol.size(); } // nombre de solutions trouvees // lancement du calcul void run(); private : double _tailleSect; // taille du secteur double _marge; // marge d'erreur autorisee std::vector<double> _tailleMotif; // taille de chacun des motifs std::vector<int> _nMotif; // quantite de chacun des motifs dans le secteur std::vector<int> _nMotifMax; // quantite maximale de chacun des motifs dans le secteur size_t _n; // longueur du tableau _nMotif size_t _nm1; // _n - 1 bool _ok; std::vector<WalidSol> _sol; // les solutions trouvees void updateIndex(int numMotif); // calcul de la taille de l'ensemble des motifs double tailleTotale(const std::vector<int> & nMotif) const; }; #endif
je suis un peu perdu car je ne vois pas du tout la raison pour laquelle il y aurait une erreur. Auriez-vous une idée ?walid.h: In member function `std::vector<WalidSol, std::allocator<WalidSol> >&
Walid::getSol() const':
walid.h:14: error: could not convert `this->Walid::_sol' to `
std::vector<WalidSol, std::allocator<WalidSol> >&'
Merci d'avance
Partager