私はBoostライブラリに非常に慣れていません。
glutDisplayFunc()などに渡されたコールバックを単一のクラスにバインドすることによって、グラフィカルプログラムのために何かを達成しようとしていました。
一定のグローバルクラスオブジェクトを持たずにこれを実現したかったのです。
コードで説明するには:
class CallbackHolder {
public:
void dostuff(void) {
// etc.
}
};
void bind() {
glutIdleFunc((new CallbackHolder())->dostuff);
}
これは、boost::bindとboost::functionを使用することで可能になることを私は知っています。
しかし、私が見た問題の1つは、boost::functionを通常の関数ポインターに戻すことでした。
これをどのように達成しますか?