La captura implícita de Lambda falla con la variable declarada desde el enlace estructurado
Con el siguiente código, obtengo un error de compilaciónC2065 'a': undeclared identifier
(usando Visual Studio 2017):
[] {
auto [a, b] = [] {return std::make_tuple(1, 2); }();
auto r = [&] {return a; }(); //error C2065
}();
Sin embargo, el siguiente código compila:
[] {
int a, b;
std::tie(a, b) = [] {return std::make_tuple(1, 2); }();
auto r = [&] {return a; }();
}();
Pensé que las dos muestras eran equivalentes. ¿Es un error del compilador o me falta algo?