Bonjour à tous.

J'essaie de faire une classe qui contient 2 constructeurs.
Et je veux définir le second constructeur en faisant appel au premier comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
class A {
public:
	A(std::vector<int> vec):_vec(vec){};
	A(int x, int y){
			std::vector<int> vec(2);
			vec[0]=x; vec[1]=y;
			A(vec);
	};
protected:
	std::vector<int> _vec;
};
sauf que la ligne "A(vec)" produit l'erreur suivante :
test.cxx:48:6: error: redefinition of 'vec' with a different type: 'A' vs 'std::vector<int>'
A(vec);

test.cxx:46:21: note: previous definition is here
std::vector<int> vec(2);

1 error generated.
Quelqu'un peut-il m'éclairé ?

Merci