小编Jak*_*o06的帖子

使用模板将lambda解析为函数

我是C ++的新手,目前正在尝试学习如何将模板用于lambda函数。

lambda可以在main函数中看到,并且只需进行布尔检查即可。

下面的实现有效,但是我必须在函数中明确声明lambda的类型testing,如输入参数所示。

void testing(std::function<bool(const int& x)> predicate){
    auto a = predicate(2);
    std::cout << a << "\n";
}

int main() {
    int ax = 2;
    testing([&ax](const int& x) { return x == ax;});
}
Run Code Online (Sandbox Code Playgroud)

我希望实现一个可以利用如下所示的模板的实现,但是我什么也无法工作。

template <typename T>
void testing(std::function<bool(const T& x)> predicate){
    auto a = predicate(2);
    std::cout << a << "\n";
}
Run Code Online (Sandbox Code Playgroud)

有没有通用的方法可以将模板用于lambda?

c++ lambda templates

1
推荐指数
1
解决办法
70
查看次数

标签 统计

c++ ×1

lambda ×1

templates ×1