Max*_*rai 1 c++ boost signals bind
我正在使用boost::signals2库,这里是简单的代码:
boost::signals2<void ()> sig;
class Foo {
void Slot() {}
};
Foo obj;
sig.connect( boost.bind(&Foo::Slot, &obj) );
Run Code Online (Sandbox Code Playgroud)
一切都很好.但现在我希望我的信号在参数中传递一些数据:
boost::signals2<void (std::vector<float>)> sig2;
class Foo {
void Slot2(std::vector<float>) {}
};
Run Code Online (Sandbox Code Playgroud)
绑定Slot2再次发出信号的正确方法是什么?
这是错误:http://dpaste.com/752076/当我使用相同的连接和绑定代码时.
您需要使用占位符:
sig.connect( boost::bind(&Foo::Slot, &obj, _1) );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3750 次 |
| 最近记录: |