0
我不知道如何通過以下列方式自定義排序行爲的std::map
:自定義排序映射槽構造
Constructor(const std::function<bool(const Obj&, const Obj&)>& ac_xNewComparator)
: mNewMap(xNewComparator(/*...???....*/)) {}
我怎麼能傳遞比較的地圖?
我不知道如何通過以下列方式自定義排序行爲的std::map
:自定義排序映射槽構造
Constructor(const std::function<bool(const Obj&, const Obj&)>& ac_xNewComparator)
: mNewMap(xNewComparator(/*...???....*/)) {}
我怎麼能傳遞比較的地圖?
class Test
{
public:
Test(const std::function<bool (int x, const std::string& str)>& comparator)
: m_map(comparator)
{
}
std::map<int, std::string, std::function<bool (int x, const std::string& str)> > m_map;
};
嘗試mNewMap(TYPE1,TYPE2,ax_xNewComparator) - http://www.cplusplus.com/reference/map/map/map/ – hired777
@ hired777:你是混合了模板參數(類型)和構造函數參數(比較器)。它只是'mNewMap(ac_xNewComparator)',只要映射類型用適當的比較器類型實例化即可。 –