Czy istnieje sposób na przechwycenie według wartości i uczynienie przechwyconej wartości inną niż stała? Mam funktor biblioteczny, który chciałbym przechwycić i wywołać metodę, która nie jest stała, ale powinna być.
Poniższe nie kompiluje się, ale wykonanie foo :: operator () const naprawia to.
struct foo
{
bool operator () ( const bool & a )
{
return a;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
foo afoo;
auto bar = [=] () -> bool
{
afoo(true);
};
return 0;
}