次の状況があります(コードの方が優れています)
class Foo
{
private:
typedef boost::signal<void ()> Signal;
Signal signal;
public:
void Register_SignalFunction(const Signal::slot_type& slot);
void Unregister_SignalFunction(const Signal::slog_type& slot);
}
class OtherFoo
{
Foo foo;
public:
OtherFoo()
{
foo.Register_SignalFunction(&OnSignal) //I know I can't do this that is precisely my question.
}
void OnSignal(); //what to do when signal fires
}
問題は、「メンバー関数」ポインターを Register メソッドに渡す方法です。また、これは大丈夫ですか?私が欲しい/必要としているのは、ある種の代理人登録システムです。誰かが私を正しい方向に向けることができれば、感謝します。事前にサンクス。