【发布时间】:2012-11-14 09:13:34
【问题描述】:
我的代码在我的 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 上遇到了 Debug Assertion Failed。我做了一些调试,我意识到错误是由在自定义比较器中使用 >= 引起的,消除 = 使代码工作但不正确的结果,因为在我的程序中应该允许重复值。因此,任何人都可以在这件事上帮助我吗?
【问题讨论】:
标签: c++ visual-studio-2010 set assertion