ce sont les cartes:C++: Comment transformer un iterator carte qui pointent vers apparier en un pointeur de paire « régulière »
multimap<SortKey,T> firstMap;
multimap<SearchKey,pair<SortKey,T>*> secondMap;
template <class T,class SortKey, class SearchKey> bool GarageDataBase<T,SortKey,SearchKey>::Add(T data,SortKey key1, SearchKey key2)
{
multimap<SortKey,T>::iterator it;
it=(firstMap.insert(pair<SortKey,T>(key1,data)));
pair<SortKey,T> *mizi=&*it;
secondMap.insert(pair<SearchKey,pair<SortKey,T>*>(key2,mizi));
return true;
}
Je suis en train d'insérer une paire dans la firstMap et obtenir un pointeur vers cette Paire et l'insérer dans le "second" champ dans le secondMap
afin que je puisse aller dans ma première carte de la deuxième carte.
pair<SortKey,T> *mizi=&*it;
cela ne compile pas en disant:
error C2440: 'initializing' : cannot convert from 'std::pair<_Ty1,_Ty2> *' to 'std::pair<_Ty1,_Ty2> *'
une idée ce qui se passe ou peut-être une meilleure façon de le faire fonctionner?
J'ai ajouté le const, donne toujours le même problème – Nadav
voici le code: – Nadav
ok, cela l'a corrigé, merci – Nadav