我正在尝试这样做:
boost::signals::connection c = somesignal.connect(
[c]()->void{
// Do something
c.disconnect();
})
这会导致问题吗?
连接 c 仅在连接后分配。
连接前需要初始化 lambda。
似乎按价值捕获是行不通的。但是,我不能通过引用捕获,因为 c 只是一个局部变量。
如果它不是 lambda,我可以捕获“somesignal”,并调用 somesignal.disconnect(slot)。但在 lambda 的情况下,插槽就是它本身。