pair & lt; int, int & gt; paire comme clé d'un problème avec unordered_map
Mon code:
typedef pair<int,int> Pair
tr1::unordered_map<Pair,bool> h;
h.insert(make_pair(Pair(0,0),true));
Erorr
undefined reference to `std::tr1::hash<std::pair<int, int> >::operator()(std::pair<int, int>) const'
Quelque chose j'ai besoin de fixer?
grâce
source d'informationauteur icn
Vous devez vous connecter pour publier un commentaire.
Ce qui se passe, car il n'y a pas de spécialisation pour
std::tr1::hash<Key>
avecKey = std::pair<int, int>
.Vous devez vous spécialiser
std::tr1::hash<Key>
avecKey = std::pair<int, int>
avant de déclarertr1::unordered_map<Pair,bool> h;
.Cela se produit parce que
std
ne sais pas comment hacher unpair<int, int>
.Suivant, il y est un exemple de la façon de se spécialiser
std::tr1::hash<>
A couru dans la même question:
Quelques solutions de contournement sont: