Bonjour,
J'ai un petit problème avec un vecteur de pointeurs.
Voici le code qui pose problème : (j'ai volontairement vidé les classes et mis tout ensemble pour bien isoler le problème)
Lorsque je compile, g++ me dit en gros qu'il ne s'attend pas à avoir ce type lors de l'insertion dans le vecteur.
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 #include <iostream> #include <vector> using namespace std; class Element{ public : string att1; }; class Constante : public Element { public : string att2; }; int main() { vector<Element*>* v = new vector<Element*>; Element* elt = new Element(); v->insert(elt); // Constante* cte = new Constante(); // v->insert(cte); return 0; }
Pourtant mon vecteur est bien un vecteur de pointeurs sur la classe Element.
Quelqu'un saurait d'où cela peut venir ?
Ma deuxième question concerne ce que j'ai mis en commentaire dans le code. L'insertion d'un pointeur sur la classe Constante est elle possible dans le vecteur compte tenu du fait que Constante hérite de Element ?
Partager