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 :
sauf que la ligne "A(vec)" produit l'erreur suivante :
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; };
Quelqu'un peut-il m'éclairé ?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.
Merci
Partager