我正在尝试使用stl中的next_permutation进行排列,但是我遇到了错误,我无法弄清楚如何修复它.我已经尝试了谷歌搜索,但是出现的唯一结果是人们使用相同的函数和函数的变量名称,但事实并非如此.
这是错误:
'__comp' cannot be used as a function
Run Code Online (Sandbox Code Playgroud)
这是代码:
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.
Run Code Online (Sandbox Code Playgroud)
这里是完整的源代码以及示例输入,以备需要时 http://pastebin.com/eNRNCuTf
Eri*_*rik 14
H = rec4.w + max(rec1.h, rec2.h, rec3.h);
Run Code Online (Sandbox Code Playgroud)
你不想传递rec3.h那里 - 错误信息只是说第3个参数max不能用作函数.我相信你打算:
H = rec4.w + max(max(rec1.h, rec2.h), rec3.h);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5681 次 |
| 最近记录: |