Miałem wrażenie, że typ lambda to wskaźnik funkcji. Kiedy wykonałem następujący test, stwierdziłem, że jest źle ( demo ). #define LAMBDA [] (int i) -> long { return 0; } int main () { long (*pFptr)(int) = LAMBDA; // ok auto pAuto = LAMBDA; // ok assert(typeid(pFptr) == typeid(pAuto)); //...