【发布时间】:2021-11-24 07:24:51
【问题描述】:
我想以某种方式使用 lambda 函数,但它不起作用,我不知道为什么。
vector<int> v;
/* ... */
int median = [](vector<int> a)
{
sort(a.begin(), a.end());
return a[a.size() / 2];
}
我创建了一个 lambda 函数,但我该如何调用它?
int median = [](vector<int> a) { ... } (v)?但它也不起作用。
我只在一些示例中看到过 lambda 函数,例如制作自定义比较器。我可以让它在我的情况下工作吗?
【问题讨论】:
-
lambda函数不是
int类型...可以使用auto median =或者在}(v);的地方调用 -
为什么不是
int类型?我正在返回一个数组元素,所以它应该是int? -
您正在返回 lambda 函数,因为它没有就地调用。
-
@RussianStranger lambda 是一个可调用对象。
int完全不同。
标签: c++ function c++11 lambda function-call