尝试next_permutation时,“__ comp不能用作函数”

前端之家收集整理的这篇文章主要介绍了尝试next_permutation时,“__ comp不能用作函数”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用stl中的next_permutation进行排列,但是我遇到了错误,我无法弄清楚如何修复它.我试过谷歌搜索,但是当人们使用相同的函数函数的变量名称时,唯一的结果就出现了,但事实并非如此.

这是错误

'__comp' cannot be used as a function

这是代码

struct rectangle{
    int n;
    int h;
    int w;
};

bool check(const rectangle& rect1,const rectangle& rect2){
    return rect1.n < rect2.n;
}

do{
//...
} while ( next_permutation(recs.begin(),recs.end(),check) ); // Getting error on this line.

这里是完整的源代码以及示例输入,以防需要http://pastebin.com/eNRNCuTf

解决方法

H = rec4.w + max(rec1.h,rec2.h,rec3.h);

你不想在那里传递rec3.h – 错误信息只是说max的第3个参数不能用作函数.我相信你打算:

H = rec4.w + max(max(rec1.h,rec2.h),rec3.h);

猜你在找的C&C++相关文章