我们不能在std :: map中使用简单的类对象作为键吗?

时间:2015-05-29 05:52:05

标签: stdmap

class abc
{
};

int main()
{
    std::map<abc, int> m;
    abc ob, ob1;
    m.insert(std::make_pair(ob, 1));
    m.insert(std::make_pair(ob1, 2));
}

错误来了: /usr/lib/gcc/i686-redhat-linux/4.7.2/../../../../include/c++/4.7.2/bits/stl_function.h:237:22:注意:' const abc'不是源自'const std :: multimap&lt; _Key,_Tp,_Compare,_Alloc&gt;'

是否需要在课程中添加任何添加功能以使其可以变为可以使用?

1 个答案:

答案 0 :(得分:0)

知道了。由于std :: map在map中输入新键时排序,所以如果key是一个类对象,我们必须重载class的“&lt;”运营商,然后它会工作正常。

@+id/store