Hi,

Does someone has an issue to this problem ? I am under VC7.1 with boost 1.33.1

2007/11/13, Olivier Tournaire <olitour@gmail.com>:


2007/11/13, Ovanes Markarian < om_boost@keywallet.com>:
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@gmail.com> 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@keywallet.com>:
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@gmail.com> 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@lists.boost.org
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.



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