C++ std::sort 函数的STL内部错误

    xiaoxiao2021-04-17  41

    今天好不容易用这个方法写一个排序算法,结果(服务器过几十分钟宕机)莫名奇妙报错:invalid operator< ?

    刚开始我还傻呵呵的以为代码逻辑里哪个地方写错了,可折腾了N久,加了无数个判断,可还是几十分钟宕机一次。

    错误原因很简单: 

    [&](class A,class B)

    {

    compare(A,B)>0  //A>B

    compare(B,A)>0 //B>A ,看到没,问题就出在这里

    解决方法:

    if(compare(A,B)*compare(B,A)>0)

    {

    return false;

    }else

    {

    return compare(A,B)>0;

    }

    };

    转载请注明原文地址: https://ju.6miu.com/read-674226.html

    最新回复(0)