Is their any probleme with boost::thread and inherited functions ?

Here is an example of what doesn't work to me :

Class A {
public:
makeWork() { runThat(); } ;

protected:
virtual runThat(void);
} //A

Class B : public A {
public :
init() { boost::thread(makeWork); }; //v1
init() { boost::thread(boost::bind(B::makeWork)); }; //v2

private :
runThat(void) { printf("foo"); };
}



No way, once makeWork never run, or with boost::bind, boost::ref, boost::function... I have still errors (do I need to post the errors... ?)

That why befor posting any error log, I ask if there are known problems with inheritage  and boost::thread ?


Of course I know how to use boost::thread and boost::bind, for example if I had this to B, it works

Class B : public A {
...
public :
init2() { boost::thread(foo); };


private :
foo(void) { printf("foo"); };
...
}


So what ???

In fact, in the real case, B inherit from another class one of my own invention : Singleton<CLASS> no need to explain what it does...   maybe the "1 object only" is a problem for boost ?

PS : the docs have very few complete examples, do you preview to extend it ? (usage of thread, bind, function, ref in the same example please) monolithic examples are OK to understand the principle, but not to understand complex usages...