中途半端にbind
昨日のを色々実験してみたわけですが、
// なんか、駄目。 n = boost::bind( plus< int >(), _1, _2 )( a, b ); // で、しょうがないから関数を用意してみる。 int tasu( int a, int b ) { return a + b; } // これは動く。 n = boost::bind( tasu, _1, _2 )( 235, 123 ); // こうすると駄目。boost::protectでrand()を保護しようとしてもエラー。 n = boost::bind( tasu, _1, _2 )( rand(), rand() );
とまぁ、散々な結果でした。1番目のは、関数オブジェクトが何か悪いようで、最後のはprotect周りでエラーが出ます。protect付けないのはたぶん間違い。ちなみに、boost::を外すと、socket関係のbindと名前が被ってしまうようです。