我寫了一個排序類排序的多重映射,但是當我插入元素融入地圖,會出現以下編譯器錯誤:排序的多重映射<pair<T,T>,P>
1>c:\program files\microsoft visual studio 9.0\vc\include\xutility(313) : error C2664: 'bool MapSort::operator()(std::pair<_Ty1,_Ty2> &,std::pair<_Ty1,_Ty2> &)' : cannot convert parameter 1 from 'const std::pair<_Ty1,_Ty2>' to 'std::pair<_Ty1,_Ty2> &'
任何人可以幫助?
class MapSort
{
public:
MapSort();
~MapSort();
public:
bool operator() (pair<T,T>& i, pair<T,T>& j)
{
return i.first.GetID() < j.first.GetID();
}
};
multimap < pair < T,T >,P > CurrMap;
CurrMap.insert(multimap < pair < T, T >,Metric >::value_type(make_pair< T,T >(aAttractionA,aAttractionB),CurrP))
//
我已經格式化您的文章。請在將來閱讀FAQ和預覽窗格。 –
另請參見:[嚴格弱排序](http://en.wikipedia.org/wiki/Strict_weak_ordering) – Johnsyweb