Boost logo

Boost Users :

From: Olivier Tournaire (olitour_at_[hidden])
Date: 2007-11-13 10:34:00


2007/11/13, Ovanes Markarian <om_boost_at_[hidden]>:
>
> And the function template ComputeRadiometries is the member of the Profile
> class? Can you please write the second error?

Yes. Please note that ComputeRadiometries is a member of the Profile class,
and that I call it a member of the MPPGraph class. Here is the second error
:

error C2780:
'boost::_bi::bind_t<R,boost::_mfi::cmf8<R,T,B1,B2,B3,B4,B5,B6,B7,B8>,_bi::list_av_9<A1,A2,A3,A4,A5,A6,A7,A8,A9>::type>
boost::bind(R (__thiscall T::* )(B1,B2,B3,B4,B5,B6,B7,B8)
const,A1,A2,A3,A4,A5,A6,A7,A8,A9)' : 10 arguments attendus - 4 fournis

E:\librairies\boost_1.33.1_build\include\boost\bind\bind_mf_cc.hpp(222) :
voir la déclaration de 'boost::bind'

However, where I write a simple function which encapsulates
ComputeRadiometries, I got no error :

void lance_thread( boost::shared_ptr<Profile> p , boost::shared_ptr< TTImage
<unsigned char> > image , eInterpolatorType typeinterp)
{
    p->ComputeRadiometries(image,typeinterp);
}

// In another member function :

boost::shared_ptr<Profile> p2 ( new
Profile(origine+(double)i*width_sur_nb_fois_wdir,rect->GetHeightDirection(),MPPParameters_.ProfilesNbPoints_,MPPParameters_.ProfilesDistancePoints_
) );
boost::shared_ptr<Profile> p3 ( new
Profile(origine+(double)(-i)*width_sur_nb_fois_wdir,rect->GetHeightDirection(),MPPParameters_.ProfilesNbPoints_,MPPParameters_.ProfilesDistancePoints_
) );
lance_thread(p2,image_,BICUBIC);
lance_thread(p3,image_,BICUBIC);

Regards

On 11/13/07, Olivier Tournaire <olitour_at_[hidden]> wrote:
> >
> > Here is the method signature :
> >
> > // in profile.hpp
> > template <class T> void ComputeRadiometries( boost::shared_ptr< TTImage
> > <T> > image , const eInterpolatorType type_interpolator=BICUBIC )
> > {
> > // ...
> > }
> >
> > Here is how I create the threads
> >
> > // ...
> > boost::shared_ptr<Profile> p2 ( new
> > Profile(origine+(double)i*width_sur_nb_fois_wdir,rect->GetHeightDirection(),MPPParameters_.ProfilesNbPoints_,MPPParameters_.ProfilesDistancePoints_
> > ) );
> > boost::thread t(
> > boost::bind
> > (
> > &Profile::template ComputeRadiometries<unsigned char>
> > , p2
> > , image_
> > , BICUBIC
> > )
> > );
> >
> > 2007/11/13, Ovanes Markarian < om_boost_at_[hidden]>:
> > >
> > > Can you please post here som example how you function signature looks
> > > like, and how you create a new thread?
> > >
> > > Regards,
> > > Ovanes
> > >
> > > On 11/13/07, Olivier Tournaire <olitour_at_[hidden]> wrote:
> > >
> > > > 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)
> > > >
> > > >
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>

-- 
Le temps des cerises reviendra. Dans l'immédiat, c'est le temps des noyaux.
Courage.


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