C++相談室 part35
■ このスレッドは過去ログ倉庫に格納されています
0101デフォルトの名無しさん
NGNGboost::functionを使うと,
typedef boost::function <double (double)> Functor;
void g(double &a, double b, Functor f ) { a=f(b); }
g(z, 3.0, Functor (k)); // (#1a)
g(z, 3.0, boost::bind (&C::m, &c, _1)); // (#2a)
Loki::Functorを使うと,
typedef Loki::Functor <double, TYPELIST_1 (double)> Functor;
void g(double &a, double b, Functor f ) { a=f(b); }
g(z, 3.0, Functor (k)); // (#1a)
g(z, 3.0, Functor (&c, &C::m)); // (#2a)
みたいには書けます.
あと100は
g(z, 3.0, c, &C::m); // (#2a)
じゃないんでしたっけ? g++ 2.95は通るとしても.
■ このスレッドは過去ログ倉庫に格納されています