With the following code, I get a compile error C2065 \'a\': undeclared identifier (using visual studio 2017):
C2065 \'a\': undeclared identifier
[] { auto [a, b] = [] {return
A possible workaround is to use a lambda capture with the initializer. The following code compiles fine in Visual Studio 2017 15.5.
[] { auto[a, b] = [] {return std::make_tuple(1, 2); }(); auto r = [a = a] {return a; }(); }();