Boost logo

Boost Users :

Subject: [Boost-users] boost::bind with derivated class
From: Kraus Philipp (philipp.kraus_at_[hidden])
Date: 2011-09-24 07:35:25


Hello,

I'm using boost::bind for binding parameters to a method for calling a thread group:
myclass::mymethod( const mysuperclass& myobj ) {

bost::threadgroup mythreads;

mythreads.create_thread( boost::bind( &myclass::mythreadmethod, this, boost::ref(myobj) ) );
}

myclass::mythreadmethod( const mysuperclass myobj ) {} // I need a copy of the object, so I don't set the reference operator &

mysuperclass is a pure virtual class. Now I create a derivate class with
class myderivate : public mysuperclass {}

and call

myderivate y;
myclass x;
x.mymethod( y );

The compiler breaks with the error, that myobj is a class with pure virtual methods. How I can call the bind methods with the correct object? myobj is an object of the derivated class so I would "send them" to the methods.

Thanks

Phil



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