View mode: basic / threaded / horizontal-split · Log in · Help
September 26, 2011
How to return the current object
Is there a way to return the current object in any part of the code, 
even from void main? (which is still a type void). I have tried the this 
thing but it doesn't work
-- 
Alex Herrmann
PC load letter
September 26, 2011
Re: How to return the current object
On Sun, 25 Sep 2011 20:20:59 -0600, alex wrote:

> Is there a way to return the current object in any part of the code,

I presume you mean returning self from a member function:

class C
{
   C foo()
   {
       return this;
   }

   C bar()
   {
       return this;
   }
}

void main()
{
   auto o = new C;
   o.foo().bar();
}

> even from void main? (which is still a type void). I have tried the this
> thing but it doesn't work

No, you can't return any object from main if the return type is void. You 
may define main as returning int, to communicate the termination status 
of the program to the environment that started it:

int main()
{
   return 0;
}

Ali
September 27, 2011
Re: How to return the current object
"alex" <ask@nospam.com> wrote in message 
news:j5onj9$2f85$1@digitalmars.com...
> Is there a way to return the current object in any part of the code, even 
> from void main? (which is still a type void). I have tried the this thing 
> but it doesn't work

Main isn't a member of any object, so there is no "this" inside main.
Top | Discussion index | About this forum | D home