C++14支持泛型lambda。但是,clang 3.4拒绝了以下代码。
#include <utility>
void f(int);
void f(int&);
int main()
{
[](auto&& v) { f(std::forward<auto>(v)); }(8); // error
}
如何在泛型lambda中完美地转发auto&&
?
发布于 2014-07-02 23:42:59
auto
不是一种类型,所以我对它不能工作并不感到惊讶。但是你不能使用decltype
吗
[](auto&& v) { f(std::forward<decltype(v)>(v)); }(8);
https://stackoverflow.com/questions/24535430
复制相似问题