Bonjour,
Dans mon programme, j'utilise des std::vector de classes qui héritent toutes d'une même classe mère comme suit
j'ai ailleurs dans le programme 2 vecteurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 class Symbol {...}; class Polygon : public Symbol {...}; class Line : public Symbol{...};
je souhaite écrire une méthode qui s'appelle aussi-bien sur un vector<Line> que sur un vector<Polygon>, donc j'écris
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 std::vector<Line> _vectLine; std::vector<Polygon> _vectPolygon;
seulement voilà, lors de l'appel de ma méthode, il me dit qu'il ne peut pas convertir les vecteurs ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part void doSomething(std::vector<Symbol> vect);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 std::vector<Line> _vect; doSomething(_vect);Je suis sûr que la chose doit être possible mais la syntaxe m'échappe.error C2440: 'cast de type'*: impossible de convertir de 'std::vector<_Ty>' en 'std::vector<_Ty>'
J'ai pas envie de devoir déclarer tout mes vecteurs de classe fille comme des vecteurs de classe mère ...
d'avance je vous remercie de votre aide![]()
Partager