相关疑难解决方法(0)

lambda函数可以模板化吗?

在C++ 11中,有没有办法模板化lambda函数?或者它本身太具体而无法模板化?

我理解我可以定义一个经典的模板类/仿函数,但问题更像是:语言是否允许模板化lambda函数?

c++ lambda templates c++11

210
推荐指数
7
解决办法
8万
查看次数

是否可以调用具有显式特化的模板化 lambda?

我正在尝试使用具有两个专业化的 lambda,但似乎我做错了什么。我试图在这里搜索,但除了这个之外我什么也没找到:

如何调用 lambda 模板?

这对我来说没有太大帮助。请问,您能告诉我应该如何通过我的专业化调用 lambda 表达式吗?我正在使用 Visual Studio 2019 16.9.2(我还无法更新)

auto testLamb = []<typename T, int max = 2>(T data)
{
    if constexpr (max == 0)
    {
        return data;
    }
    else
    {
        return data + max;
    }
};

int f1 = testLamb<int, 4>(4); // Error C2062 !!
int f2 = testLamb(5); // OK!
Run Code Online (Sandbox Code Playgroud)

c++ lambda templates template-specialization visual-studio-2019

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