Is allowed since C++14 so the below is legal: auto func1 = [](int i = 6) { return i + 4; }; std::cout << "func1: " << func1() << '\n'; Thanks, -- Mikhail