カスタム構造体のインスタンスを含むリストを降順に並べ替えようとしたときに、コンパイル エラーが発生しました「結果」リストの「-」演算子が使用できないことを中心に展開しています。このエラーは、ソート関数のランダム アクセス反復子の要件と、std::list::begin() および std::list::end() によって返される双方向反復子の間の不一致によって発生します。
これを解決するにはこの問題を解決するには、双方向反復子で動作するように調整された std::list::sort メンバー関数を使用することをお勧めします。この関数は std::sort と同じ引数を受け取り、リスト用に最適化された並べ替えアルゴリズムを内部で使用します。
特定のシナリオで std::list::sort 関数を利用する方法を次に示します。
Result.poly.sort([](const term& t1, const term& t2) { return t2.pow < t1.pow; });
この調整により、コンパイル エラーは解決され、コードは 'pow' メンバーに基づいて 'poly' リストを降順に並べ替えます。その構成要素である「term」要素。
以上がSTL のソート関数を使用してカスタム構造体のリストを降順にソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。