質問: new HogeClass( "posId1234" , "20201010" , 1000 , -49 ); hogeList.Add(hoge); } ```
回答: 質問するときは環境に関する情報を詳しく記述しましょう。 * 技術系メーリングリストで質問するときのパターン・ランゲージ 「MT4」というのが何なのかよく分かりませんが、おそらく「MetaTrader 4」のことだと仮定します。 MetaTrader 5のリファレンスを見る限り、`CObject::Compare()`をオーバーライドして、所望のメンバー変数を基に比較すれば、`CList::Sort()`が使えるようになるのではないでしょうか。 ``` class Xxx : public CObject { ... public: virtual int Compare(const CObject* node, const int mode = 0) const override { // 引数 node から Xxx へのポインタを得る場合は、 // static_cast または dynamic_cast でダウンキャストする。 // this オブジェクトが node オブジェクトと等しい場合は 0 を返す。 // this オブジェクトが node オブジェクトよりも小さい場合は -1 を返す。 // this オブジェクトが node オブジェクトよりも大きい場合は 1 を返す。 // 引数 mode が何なのかは不明。 } }; ``` 質問する前に、まずはリファレンスを読むようにしてください。大手ベンダー/零細ベンダー問わず、日本語版リファレンスは翻訳がおかしかったり、情報が古かったりするので、原文の英語版リファレンスを読んだほうが正確な情報を得られます。技術系の英文は高校レベルの知識があれば十分読めます。 ちなみにこのライブラリは一見古いMFC (Microsoft Foundation Classes) に酷似していますが、それなりに経験を積んだC++プログラマーの立場から言わせてもらうと、全体的にかなりおかしな設計になっています。よほどの理由がない限り使わないほうがいいと思います。