Existe alguma maneira de capturar por valor e tornar o valor capturado não constante? Eu tenho um functor de biblioteca que gostaria de capturar e chamar um método que não é constante, mas deveria ser.
O seguinte não compila, mas fazer foo :: operator () const corrige isso.
struct foo
{
bool operator () ( const bool & a )
{
return a;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
foo afoo;
auto bar = [=] () -> bool
{
afoo(true);
};
return 0;
}