我的代码中有一个类Yarl
,其成员函数refresh
要绑定到两个boost::signal
s。这些信号之一是这样EventHandler
定义的类的成员:
class EventHandler {
public:
boost::signal<void()> sigRefresh;
};
另一个是另一个文件中的自由浮动信号,声明如下:
namespace utility {
static boost::signal<void()> signal_refresh;
}
在 的成员函数中Yarl
,我连接refresh
到这样的信号:
events::EventHandler eventHandler;
eventHandler.sigRefresh.connect(boost::bind(&Yarl::refresh, this));
utility::signal_refresh.connect(boost::bind(&Yarl::refresh, this));
后来我这样称呼这两个信号:
sigRefresh();
signal_refresh();
此代码编译并运行,并且sigRefresh
完全按预期工作。但是,当我调用signal_refresh
. 据我所知,refresh
从未真正连接到signal_refresh
. 有人看到我做错了什么吗?