这是代码:
struct comp
{
bool operator()(Reputation *one, Reputation *two)
{
if (one->Amount < 0 && two->Amount >= 0)
return false;
if (one->Amount >= 0 && two->Amount < 0)
return true;
if (one->Amount >= 0)
return one->Amount <= two->Amount;
else
return one->Amount >= two->Amount;
}
};
这就是问题所在:
调试断言失败!
文件:..\VC\include\xtree
线路:638
表达式:无效运算符
之后,我可以选择“中止”、“重试”或“忽略”。如果我选择忽略更多(相同的)出现,但它最终会完美地工作。
当我将带有 ->Amount == 的信誉插入到先前插入的信誉 * 之一时,似乎会出现问题,但我不确定最后一个。
任何帮助将不胜感激
编辑:我希望它们排序的顺序首先是按升序排列的正数,然后是按降序排列的负数。示例:1 5 10 11 11 20 50 -1 -5 -50
您必须定义一个关系不自反的, 就像<
——因此,改变<=
to <
以及方法中最后几次比较中的“>=”到“>”。这就是 VC++ 正在诊断的内容。
此外,如果编码正确,<-
like 运算符,如果两个项目 a 和 b 使得 a
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)