J'essaie d'insérer une valeur paire dans une carte. La carte peut être composée d'un objet et d'un vecteur d'un autre objet. Je ne sais pas pourquoi mais la seule façon de faire le code à compiler est de déclarer le premier objet comme un pointeur. Mais de cette façon, lorsque j'insère un objet, seule la première paire est placée sur la carte.Insérer une paire d'objets dans une carte
Ma carte est la suivante:
map<prmEdge,vector<prmNode> > archi;
Voici le code:
{
bool prmPlanner::insert_edge(int from,int to,int h) {
prmEdge e;
int f=from;
int t=to;
if(to<from){
f=to;
t=from;
}
e.setFrom(f);
e.setTo(t);
vector<prmNode> app;
prmNode par=nodes[e.getFrom()];
prmNode arr=nodes[e.getTo()];
app.push_back(par);
app.push_back(arr);
archi.insert(pair<prmEdge,vector<prmNode> >(e,app));
return true;
}
}
De cette façon, j'ai une erreur de compilation dans le classe pair.h. Que pouvais-je faire ?? Merci beaucoup.
Quelle erreur avez-vous? – kennytm