Bonjour, j'ai les classes suivantes :

walidSol.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
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
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
et j'ai l'erreur suivante :

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> >&'
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 ?

Merci d'avance