値でキャプチャし、キャプチャした値を非定数にする方法はありますか?私は、ライブラリー・ファンクターを持っています。これは、非constである必要があるメソッドをキャプチャーして呼び出したいものです。
以下はコンパイルされませんが、foo :: operator()constを作成すると修正されます。
struct foo
{
bool operator () ( const bool & a )
{
return a;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
foo afoo;
auto bar = [=] () -> bool
{
afoo(true);
};
return 0;
}
可変を使用します。
auto bar = [=] () mutable -> bool ....
可変でない場合は、ラムダオブジェクトconstの演算子()を宣言しています。