declaring - lambda function c++ 11
¿Cómo reenviar perfectamente `auto &&` en un lambda genérico? (1)
C ++ 14 soporta lambdas genéricas. Sin embargo, el código siguiente es rechazado por Clang 3.4.
#include <utility>
void f(int);
void f(int&);
int main()
{
[](auto&& v) { f(std::forward<auto>(v)); }(8); // error
}
¿Cómo reenviar perfectamente auto&&
en un lambda genérico?
auto
no es un tipo, así que no me sorprende que esto no funcione. ¿Pero no puedes usar decltype
?
[](auto&& v) { f(std::forward<decltype(v)>(v)); }(8);