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 <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 ?
Regards
Regards,
Ovanes