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


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.



Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at