定义运算符<在一个类的地图(c ++)

时间:2015-05-23 23:06:43

标签: c++ dictionary

所以我有一个班级:

<td>

我在班上定义了:

class Time{
    private:
    string day;
    string hour;
    public:
    //etc
    }

当我编译它时会给我一个错误:

  

&#34;错误传递&#39; const时间&#39;作为&#39;这个&#39; std :: string的参数Time :: see_day()&#34;抛弃限定符[-fpermissive]。

我希望这只是为了创建一个迭代器来按升序编写所有地图。我做错了什么?

1 个答案:

答案 0 :(得分:5)

您需要标记

Time::see_day() const
//              ^^^^^
//             needs to be const

另行

return day < t1.see_day();

您尝试在const实例(在这种情况下为const)上调用非t1成员函数,这是禁止的,因此错误。

Time::see_hour()相同的问题(您还有一个拼写错误,函数调用缺少括号)。