如何将参数传递给自定义比较函数以便在C ++中进行排序

时间:2018-02-16 11:30:10

标签: c++ function sorting parameters parameter-passing

我有自定义比较功能:

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是什么。我的问题是,如何将所需数字传递给比较函数?

1 个答案:

答案 0 :(得分:0)

这里有一个很好的答案,关于如何使用std :: sort

https://stackoverflow.com/a/1380496/6115571

另一方面,你在函数中确实不需要两个return语句

bool compare(int a, int b) {
  return (a>2*b);
}