Visual Studio 2010でコードに問題が発生していますが、DevCPPでは問題が発生していません。これが状況です。コードでC++STLを使用set
して挿入しましたが、キーの代わりに値を使用して並べ替えpair<string, double>
たいので、カスタムコンパレータを使用してこれを実現しました。set
struct sortPairSecond
{
bool operator()(const pair<string, double> &lhs, const pair<string, double> &rhs)
{
return lhs.second >= rhs.second;
}
};
コードはDevCPPで正常に機能しますが、VS2010を使用してxtreeでデバッグアサーションが失敗しました。デバッグを行ったところ、カスタムコンパレータで> =を使用したためにエラーが発生し、=を削除してコードを機能させることができましたが、プログラムで重複値を許可する必要があるため、誤った結果が発生しました。したがって、誰でもこの問題について私を助けることができますか?