Ответ 1
auto
не является типом, поэтому я не удивлен, что это не работает. Но вы не можете использовать decltype
?
[](auto&& v) { f(std::forward<decltype(v)>(v)); }(8);
С++ 14 поддерживает общие лямбды. Однако следующий код отклоняется clang 3.4.
#include <utility>
void f(int);
void f(int&);
int main()
{
[](auto&& v) { f(std::forward<auto>(v)); }(8); // error
}
Как отлично форматировать auto&&
в общей лямбда?
auto
не является типом, поэтому я не удивлен, что это не работает. Но вы не можете использовать decltype
?
[](auto&& v) { f(std::forward<decltype(v)>(v)); }(8);