boost::signalのトリガーをboost::bindオブジェクトにラップしようとしています。したがって、私が欲しいのは、boost :: functionが呼び出されたときに、いくつかの事前にパッケージ化された引数を使用してシグナルを呼び出すことです。
私が持っているのはこれです:
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);
しかし、「コンテキスト型情報のないオーバーロードされた関数のアドレス」を取得します。
では、これに適した構文は何ですか?