Para el siguiente código:C++ 11 lambda en decltype
auto F(int count) -> decltype([](int m) { return 0; })
{
return [](int m) { return 0; };
}
g ++ 4.5 da los errores:
test1.cpp:1:32: error: expected primary-expression before 'int'
test1.cpp:1:32: error: expected ')' before 'int'
¿Cuál es el problema? ¿Cuál es la forma correcta de devolver una lambda desde una función?
+1 para respuesta completa –
1 para aclarar el problema. Revisé el borrador SC22-N-4411 y encontré un poco aterrador la frase que dice que "cada expresión lambda tiene un tipo único". – 6502
@ 6502: Sí, ese hecho me hizo darme cuenta de por qué el tamaño de mi ejecutable aumentó repentinamente un 10% debido a 'stable_sort'. – Mehrdad