【发布时间】:2014-01-31 17:29:45
【问题描述】:
我正在寻找一种方法来实现这样的东西,使用 boost
class GenBoost{
boost::signal<void(void)> m_signal;
std::function<void (bool)> m_function
public:
void setSignal(boost::signal<void(void)> sigArg)
{
m_signal = sigArg;
}
void setFunction(std::function<void (bool)> &functionArg)
{
m_function = functionArg;
m_signal.connect(boost::bind(&GebBoost::onSignal,this,_1));
}
void onSignal(){
//do something
}
};
如何做到这一点。无法进行信号复制!?
【问题讨论】:
-
这个应该是什么?
-
@itwasntpete - 下面的代码。我的意思是我试图像上面那样实现。但我做不到。
-
制作 boost::signals 指针或共享指针。
-
真的有可能制作一个已经在类中声明的信号,例如。
class A{ public: boost::signal<void(bool)> a_sig; };共享指针?我知道获取共享指针的可能方法是使用make_shared和ctor的shared_ptr
标签: c++ boost boost-signals