Boost logo

Boost Users :

From: Filip Peters (filippeters_at_[hidden])
Date: 2006-01-27 17:27:06


hello,

just a question,
I was actually trying the same thing (putting a thread
in a class) today,
but vc7.1 shows a warning on code like below:
warning C4355: 'this' : used in base member
initializer list
> Simple() : th(boost::bind(&Simple::run,
> boost::ref(*this)))
> {}

And in the help it says
<quote>
The base-class constructors and class member
constructors are called before this constructor. In
effect, you've passed a pointer to an unconstructed
object to another constructor. If those other
constructors access any members or call member
functions on this, the result will be undefined. You
should using the this pointer until all construction
has completed
</quote>

suggestions/comments? Can I ignore this?

thanks,
Filip

--- Patrick <patrick_at_[hidden]> wrote:

> Hello Sliwa,
>
> This should do it.
>
>
>
> class Simple
>
> {
>
> Simple() : th(boost::bind(&Simple::run,
> boost::ref(*this)))
>
> {}
>
>
>
> void run()
>
> {
>
> for(;;){
>
> //Thread's work goes here.
>
> }
>
>
>
> }
>
> private:
>
> boost::thread th;
>
> };
>
>
>
> _____
>
> From: boost-users-bounces_at_[hidden]
> [mailto:boost-users-bounces_at_[hidden]] On
> Behalf Of Sliwa, Przemyslaw
> (London)
> Sent: Friday, January 27, 2006 4:25 AM
> To: boost-users_at_[hidden]
> Subject: [Boost-users] Spawning a thread on a member
> function
>
>
>
> All,
>
>
>
> Does anyone know how to spawn a thread on member
> function of an existing
> object in its constructor.
>
> Clearly simple boost::bind does not work. I do not
> know how to tell the
> compiler it must take the member function.
>
>
>
> Thanks for help,
>
>
>
> Pshemek
>
>
>
> Kind regards
>
> Pshemek
>
>
>
> Przemyslaw Sliwa
> Global Foreign Exchange
>
> FX Risk Engine Development
> Merrill Lynch
> *** +44 (0)20 7995 4182
> * +44 (0)79 6325 2319
> *** Email: przemyslaw_sliwa_at_[hidden]
>
>
>
> _____
>
> If you are not an intended recipient of this e-mail,
> please notify the
> sender, delete it and do not read, act upon, print,
> disclose, copy, retain
> or redistribute it. Click here
> <http://www.ml.com/email_terms/> for
> important additional terms relating to this e-mail.
> http://www.ml.com/email_terms/
>
> _____
>
> > _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
>
http://lists.boost.org/mailman/listinfo.cgi/boost-users

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


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