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.