私はこれをやろうとしています:
boost::signals::connection c = somesignal.connect(
[c]()->void{
// Do something
c.disconnect();
})
これにより問題が発生しますか?
接続 c は、接続後にのみ割り当てられます。
ラムダは接続前に初期化する必要があります。
値によるキャプチャは機能しないようです。ただし、c はローカル変数にすぎないため、参照によってキャプチャすることはできません。
ラムダでない場合は、「somesignal」をキャプチャして、somesignal.disconnect(slot) を呼び出すことができます。ただし、ラムダの場合、スロットはそれ自体です。