我试图排序一个list<CMail>(其中CMail是一些对象,对于这个问题的目的并不重要).现在,我想对它进行排序.我知道list有一个sort()函数,它使用标准运算符<等,或者给出比较函数.我确实有这样的功能.
我的功能
bool comp( const CMail & x ) const;
Run Code Online (Sandbox Code Playgroud)
如果我们考虑a.comp(b),则返回; ,如果a <b则为true,否则为false.此函数也是CMail类的一部分,因此也是CMail命名空间的一部分.
现在,我想使用这个排序功能,我正在使用
temp.sort( CMail::comp );
Run Code Online (Sandbox Code Playgroud)
温度是一个
list<CMail> temp;
Run Code Online (Sandbox Code Playgroud)
但是,编译器不允许我这样说
错误:无效使用非静态成员函数'bool CMail :: comp(const CMail&)const'
有谁看到问题可能在哪里?提前致谢 :)