重複の可能性:
stl sort 関数を使用してリストをソートするの
はなぜ std::list::sort() だけなのでしょうか?
私の質問は、std::sort 関数を使用して 2 つの 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): エラー C2784: '_Base1::difference_type std::operator - (const std::_Revrinit<_RanIt,_Base> &,const std::_Revranit<_RanIt2,_Base2> &)': できませんでした'std::_List_iterator<_Mylist>' から 'const std::_Revrinit<_RanIt,_Base> &' のテンプレート引数を 1> [ 1> _Mylist=std::_List_val> 1> ] で推定します。
std::sort のみがリストをサポートしていることを知っておく必要がありますか?