Geat, seems simpler. However, it does not compile for me (boost 1.33.1). Aot of error, but the first one seems to be the more interesting :
error C2780: 'boost::_bi::bind_t<R,boost::_mfi::dm<R,T>,_bi::list_av_1<A1>::type> boost::bind(R T::* ,A1)' : 2 arguments attendus - 4 fournis
(translation attempt : [...] 2 args waited, 4 given)
Why do you need a function instance at all?
Just use boost::bind and that's it...
Profile p;
boost::shared_ptr< TTImage<unsigned char> > image(new TTImage<unsigned char>);
boost::thread t(
boost::bind
(
&Profile::template ComputeRadiometries<unsigned char>
, p
, image
, BICUBIC
)
);
This code compiles fine for me.
Regards,
OvanesOn 11/13/07, Olivier Tournaire < olitour@gmail.com> wrote:2007/11/13, Ovanes Markarian <om_boost@keywallet.com>:
On 11/13/07, Olivier Tournaire < olitour@gmail.com> wrote:Yep, that what I tried, but it does not work. The compiler error is described below.
This is really strange. This code compiles fine:
typedef bool (Profile::*mem_fcn)(boost::shared_ptr< TTImage <unsigned char> >, eInterpolatorType);
mem_fcn f = &Profile::template ComputeRadiometries<unsigned char>;
and the doc example states for member functions:
boost::function<int (X*, int)> f;
f = &X::foo;
X x;
f(&x, 5);
But I also got errors.
Yes. The first code I posted came from the doc. The one you just gave me compiles fine.
However, how can I use it to create a thread and pass parameters ?
RegardsRegards,
Ovanes
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users