相关疑难解决方法(0)

使用STL排序功能对列表进行排序

我正在尝试按降序排序列表(类的一部分)包含a的项目struct,但它不编译:

错误:'__last - __first'中'operator-'不匹配

sort(Result.poly.begin(), Result.poly.end(), SortDescending());
Run Code Online (Sandbox Code Playgroud)

这是SortDescending:

struct SortDescending
{
    bool operator()(const term& t1, const term& t2)
    { 
        return t2.pow < t1.pow; 
    }
};
Run Code Online (Sandbox Code Playgroud)

谁能告诉我什么是错的?

c++ sorting stl list

22
推荐指数
2
解决办法
2万
查看次数

使用std :: sort对std :: lists进行排序

可能重复:
使用stl排序函数排序列表
为什么只有std :: list :: sort()?

我的问题是我们可以使用std :: sort函数对两个std :: lists进行排序吗?我有2个字符串列表

  std::list<std::string>list1, list2;
  .....//entering values to list
  std::sort(list1.begin(), list1.end());

  std::sort(list2.begin(), list2.end());
Run Code Online (Sandbox Code Playgroud)

虽然我正在整理这些列表,但我收到了错误.我尝试使用std :: vector,此时排序有效.

错误就像

C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\VC\include\xutility(1158):请参阅'std :: operator - '1> C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\VC的声明\ include\algorithm(3642):错误C2784:'_ Base1 :: difference_type std :: operator - (const std :: _ Revranit <_RanIt,_Base>&,const std :: _ Revranit <_RanIt2,_Base2>&)':不能从'std :: _ List_iterator <_Mylist>'1>推导'const std :: _ Revranit <_RanIt,_Base>&'的模板参数1> [1> _Mylist = std :: _ List_val> 1>] …

c++ sorting list std

13
推荐指数
2
解决办法
2万
查看次数

标签 统计

c++ ×2

list ×2

sorting ×2

std ×1

stl ×1