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,
Ovanes
On 11/13/07, Olivier Tournaire
2007/11/13, Ovanes Markarian
: 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
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 ?
Regards
Regards,
Ovanes