Per il seguente codice:C++ 11 lambda a decltype
auto F(int count) -> decltype([](int m) { return 0; })
{
return [](int m) { return 0; };
}
g ++ 4.5 dà gli errori:
test1.cpp:1:32: error: expected primary-expression before 'int'
test1.cpp:1:32: error: expected ')' before 'int'
qual è il problema? Qual è il modo corretto per restituire un lambda da una funzione?
+1 per risposta completa –
+1 per chiarire il problema. Ho controllato la bozza SC22-N-4411 e ho trovato una specie di paura la frase che dice che "ogni espressione lambda ha un tipo unico". – 6502
@ 6502: Sì, questo fatto mi ha fatto capire perché la mia dimensione eseguibile è aumentata improvvisamente del 10% a causa di 'stable_sort'. – Mehrdad