list中的sort(Compare)使用问题.
我在aCC编译器下,想使用函数对象对list进行排序.list.sort(func);总是编译报错.
并且我也看了aCC中的list的定义,中有方法声明.
template <class Compare> void sort (Compare).
请问各位大哥,怎么用函数对象对list进行排序.给出例子不胜感激.谢谢.
以下是源码,请执教.
class list_op
{
public:
bool operator () (const int a,const int b) const
{
return a>b;
}
};
int main(int argc, char* argv[])
{
list<int> list_1;
list<int>::iterator i;
list_1.push_back (10);
list_1.push_back (3);
list_1.push_back (7);
list_op a;
list_1.sort(a);
for (i = list_1.begin(); i != list_1.end(); i++)
{
cout<<*i<<endl;
}
return 0;
}