
I am very new to boost, I apologize if this has been asked before. I searched the mailing list archive but could not find an answer to my question. I was successful creating threads with functions that are not members of objects, but when I try to create threads with a pointer to an object member I get compilation errors (MS Visual Studio .NET). Examples: class objclass; typedef void (objclass::*pmf)(); // ptr to member func class objclass { public: objclass() : thread_id (0) { p=&objclass::dowork; } inline setthreadid(int x) {thread_id = x;} inline setvaltwo(std::string str) {valtwo = str;} void dowork(); pmf p; // pointer to dowork member function int getthreadid() {return thread_id;} std::string getvaltwo() {return valtwo;} private: int thread_id; std::string valtwo; }; void objclass::dowork() { } (In the main...) boost::thread_group thrds; objclass * objthread; objthread = new objclass; thrds.create_thread( (objthread->p) ); I get the following error: c:\Boost\include\boost-1_31\boost\function\function_template.hpp(427): error C2664: 'void boost::function0<R>::assign_to<Functor>(FunctionPtr,boost::detail::funct ion::function_ptr_tag)' : cannot convert parameter 2 from 'boost::detail::function::member_ptr_tag' to 'boost::detail::function::function_ptr_tag' with [ R=void, Functor=pmf, FunctionPtr=pmf ] Is there a way around this problem, or is it simply not possible to make threads from object members with boost? Thanks, Tim