Reset class member variables

mandel mandel at foobar.com
Fri Sep 7 11:46:46 PDT 2007


Matti Niemenmaa Wrote:

> mandel wrote:
> > Hi,
[..]
> > class Foo
> > {
> > 	uint x;
> > 	char[] name = "world";
> > //problematic:
> > 	const uint y;
> > 	char[1024] buffer;
> > 	
> > 	void reset()
> > 	{
> > 		scope tmp = new typeof(this);
> > 		foreach(i, x;  tmp.tupleof)
> > 		{
> > 			this.tupleof[i] = x;
> > 		}
> > 	}
> > }
> > 
> > The problem is that I have to avoid
> > to try to set const values and static arrays.
> > 
> > How can this be done?
> 
> Does "this = new typeof(this);" work?
> 

No, it does have no effect.

Btw.: that's the error message I get from dmd:
Error: can only initialize const member y inside constructor
Error: cannot assign to static array this.buffer



More information about the Digitalmars-d mailing list