ファンクターの実装を次のように変換していますstd::tr1::function
(私の実装では、関数の型ごとに型とファンクター クラスを事前定義する必要があるため、これを拡張して任意の関数で動作するようにしたいためです)。
私は持っている
int param = 1;
std::tr1::bind (&MyClass::func, param);
これを共通のコンテナに追加したい
someContainer.insert (std::tr1::bind (&MyClass::func, param));
では、コンテナを宣言する方法、任意の型の関数を受け入れるにはどの型でなければなりませんか? それはまったく可能ですか?
2 番目の質問 - 次のように、コンテナ内で関数を呼び出す方法:
someContainer.begin().invoke();
PS別の解決策があるかもしれませんが、このトピックでは十分に認識していません。答えてくれてありがとう。
GNU C++98 を扱っています。