2008年03月15日

boost::function + bindの破壊力

開発環境Visual Studio 2008 Professional Edition
ライブラリboost 1.34.1

boost::functionboost::bindの組み合わせは結構強力なようです。 以下のコードをコンパイルしてみると、

#include <boost/bind.hpp>
#include <boost/function.hpp>

class A
{
public:
  void f(int) {}
};

void main()
{
  A a;
  boost::function<void (int)> Func = boost::bind(&A::f, &a);
}

以下のようなメッセージを確認できます。
VS 2008
一撃必殺。

以下のように最後の_1を忘れなければ問題ないようです。

boost::function<void (int)> Func = boost::bind(&A::f, &a, _1);
投稿者 MASATO : 2008年03月15日 22:09 | トラックバック
コメント
コメントする









名前、アドレスを登録しますか?