0

今問題があります。boost::signal と boost::bind を自分の Event クラスにカプセル化しようとしています。

class MyEvent
{
private:
  boost::signal<void ()> Sig;
public:
  void Subscribe(.........)
  {
    Sig.connect(boost:bind(.........);
  }

  void Raise()
  {
    Sig();
  }
};

サブスクライブ関数の署名で関数ポインターを渡そうとしましたが、ビジュアル スタジオでエラーが発生するだけです。Subscribe の署名の書き方と、boost::bind に何を渡すかがわかりません。理想的にはboost::bind(&MyClass::MyHandler, &MyClassObject)、Subscribe 関数に入れ、 のように外部で呼び出しMyEventObject.Subscribe(&MyClass::MyHandler, &MyClass)ます。その2つの空白を埋めるのを手伝ってくれる人はいますか?

4

1 に答える 1