C++14 中的泛型 lambda

Nis*_*evy 1 c++ lambda c++14

我正在尝试在 VS2019 中编译以下代码:

auto moveToEnd = []<typename T>(std::vector<T>& into, std::vector<T>& from)
{
    into.insert(std::end(into), std::make_move_iterator(std::begin(from))
        , std::make_move_iterator(std::end(from)));
};
Run Code Online (Sandbox Code Playgroud)

但是,我收到一个错误:

'<' 在 lambda 主体之前跳过意外的标记/秒

注意:我使用的是 C++14 编译器。

Hol*_*Cat 6

这些不是常规的通用 lambda。为 lambda 指定模板参数列表是 C++20 的特性。C++14“通用 lambdas”仅允许您auto在 lambda 参数中使用。