Boost logo

Boost Users :

From: Ovanes Markarian (om_boost_at_[hidden])
Date: 2007-11-13 06:33:54


Sorry,

it was my mistake. I seemed to read you used unsigned int to specialize the
TTImage type. But you used the unsigend char. Therefore, the code should be:

f=&Profile::template ComputeRadiometries<unsigned char>;

On 11/13/07, Olivier Tournaire <olitour_at_[hidden]> wrote:
>
>
> > > ComputeRadiometries is a template member function :
> > > template <class T> bool ComputeRadiometries( boost::shared_ptr<
> > > TTImage <T> > image , const eInterpolatorType type_interpolator=BICUBIC )
> > >
> > > This compiles fine :
> > > boost::function<bool (Profile*, boost::shared_ptr< TTImage <unsigned
> > > char> >, eInterpolatorType)> f;
> > >
> > > But, this does not :
> > > f = &Profile::ComputeRadiometries;
> >
> >
> > This is incorrect. How should the compiler know which function address
> > do you mean?
> > The correct way would be:
> > f=&Profile::template ComputeRadiometries<unsigned int>;
> >
>
> This does not seem to work. The compiler error is :
> error C2440: '=' : impossible de convertir de 'overloaded-function' en
> 'boost::function<Signature>'
> with
> [
> Signature=bool (Profile
> *,boost::shared_ptr<TTImage<UInt1>>,eInterpolatorType)
> ]
>
>
>



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net