降順でリストを設定しようとしていて、リストの先頭に最高のものを設定していますが、それを行っていません。これが私が使用している構造体です
struct datalist
{
short index;
int nNumber;
bool operator > (const datalist& a) const
{
return (nNumber > a.nNumber);
}
};
そして私はやっています
datalist* pAR = new datalist;
pAR->index = 1000;
pAR->nNumber = 10;
m_SomeList.push_back(pAR);
pAR = new datalist;
pAR->index = 1005;
pAR->nNumber = 30;
m_SomeList.push_back(pAR);
pAR = new datalist;
pAR->index = 0;
pAR->nNumber = 20;
m_SomeList.push_back(pAR);
m_SomeList.sort(greater<datalist*>());
ソート後、出力しています20, 30, 10
。私はVS 6.0を使用しています。アップグレードが必要というコメントを得る前に、それが古いコンパイラであることは知っていますが、私の場合はそれが必要なので、答えるときに覚えておいてください。最も説明的で役立つ回答が投票されます。