我希望您能将boost :: signal的触发包装到boost :: bind对象中。所以我想要的是在调用boost :: function时使用一些预打包的参数来调用信号。
我的代码如下:
但是这种方式不起作用。我得到了以下错误: 错误:未找到与bind(,...)匹配的函数
我也尝试了这个:
我的代码如下:
boost::signals2::signal<void(int)> sig;
boost::function<void()> f = boost::bind(
&(sig.operator()), &sig, 10);
但是这种方式不起作用。我得到了以下错误: 错误:未找到与bind(,...)匹配的函数
我也尝试了这个:
boost::function<void()> f = boost::bind(
(void(boost::signals2::signal<void(int)>::*)(int))
&(sig.operator()), &sig, 10);
但是我得到了“没有上下文类型信息的重载函数地址”。
那么这个的正确语法是什么?