我有自定义比较功能:
bool compare(int a, int b){
if(a>2*b) return true;
return false;
}
现在我想使用这个函数:
vector<int> numbers;//say it contains random numbers
sort(numbers.begin(), numbers.end(), compare(a, b));//a and b are the numbers that sort function currently compares to each other
显然,这段代码不起作用,因为程序不知道a和b是什么。我的问题是,如何将所需数字传递给比较函数?
答案 0 :(得分:0)
这里有一个很好的答案,关于如何使用std :: sort
https://stackoverflow.com/a/1380496/6115571
另一方面,你在函数中确实不需要两个return语句
bool compare(int a, int b) {
return (a>2*b);
}