是否可以调用具有显式专业化的模板化 lambda?
Is possible to invoke a templated lambda with explicit specialization?
我正在尝试使用具有两个专业化的 lambda,但似乎我做错了什么。我试图在这里搜索,但我什么也没找到,除了这个:
这对我来说帮助不大。拜托,你能告诉我我应该如何用我的专业调用 lambdas 吗?我正在使用 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!
不是模板的class/variable,而是它的运算符:
testLamb.operator()<int, 4>(4);
我正在尝试使用具有两个专业化的 lambda,但似乎我做错了什么。我试图在这里搜索,但我什么也没找到,除了这个:
这对我来说帮助不大。拜托,你能告诉我我应该如何用我的专业调用 lambdas 吗?我正在使用 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!
不是模板的class/variable,而是它的运算符:
testLamb.operator()<int, 4>(4);