2015年6月17日水曜日

メンバ関数を関数ポインタで代入

 メンバ関数を関数ポインタで代入しようとしたら四苦八苦してしまったので、メモメモ…
 最初はstd::functionを使用してうまくできないかなーってやってたんだけど無理でした、はい
 でboostを使ったところすんなりできました、はい。 ということで以下にコードをー
 class A
{
   void add(boost::function < void () > _a);
}
 class T:public A
{
   void start();
 ...
  void write();
}
void start()
{
   boost::function func= boost::bind(&Serial::write,this);
   this->add(func);
 }
でできました。
やっぱりboostってすごいですね、後関数ポインタが理解できていないので勉強しないとですね…