Acceso a la variable constexpr dentro de la expresión lambda sin capturar
En el siguiente ejemplo, puedo acceder a laconstexpr
variablex
desde el interior de la lambday
sin capturarlo explícitamente. Esto no es posible six
no se declara comoconstexpr
.
¿Existen reglas especiales que se aplican aconstexpr
para capturar @
int foo(auto l) {
// OK
constexpr auto x = l();
auto y = []{return x;};
return y();
// NOK
// auto x2 = l();
// auto y2 = []{ return x2; };
// return y2();
}
auto l2 = []{return 3;};
int main() {
foo(l2);
}