我的问题是我们可以使用 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());
当我对这些列表进行排序时,我遇到了错误。我尝试使用 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): error C2784: '_Base1::difference_type std::operator - (const std::_Revranit<_RanIt,_Base> &,const std::_Revranit<_RanIt2,_Base2> &)' : 不能用 1> [ 1> _Mylist=std::_List_val> 1> 从 'std::_List_iterator<_Mylist>' 1> 推导出 'const std::_Revranit<_RanIt,_Base> &' 的模板参数
我必须知道只有 std::sort 支持列表?