opAssign: cannot set reference of object to null
    Mahe 
    maheweb at web.de
       
    Mon Apr 21 11:36:04 PDT 2008
    
    
  
Hi, 
in the following code the statement "b = null" calls "B opAssign( A v )" and causes an access violation. I don't understand why! How can I set b to null?
I'm using dmd 1.028.
class A
{
	this( int i )
	{
		a = i;
	}
	int a;
}
class B
{
	this( int i )
	{
		a = i;
	}
	int a;
	
	B opAssign( A v )
	{
		a = v.a;
		return this;
	}
}
int main(char[][] args)
{
	A a = new A( 4 );
	assert( a.a == 4 );
	B b ;
	assert( b is null );
	b = new B( 5 );
	b = a;
	assert( b.a == 4 );
	b = null;
	assert( b is null );
}
    
    
More information about the Digitalmars-d-learn
mailing list