`This` reference not accessible when overloading an operator?

Mathias Lang pro.mathias.lang at gmail.com
Tue Jan 21 21:43:06 UTC 2020


On Tuesday, 21 January 2020 at 20:48:44 UTC, Enjoys Math wrote:
> I have an Integer class in integer.d.  A RationalNumber class 
> in rational_number.d, and they each import each other (so that 
> could be the issue).  However, this is not working:
>
>
>    Symbol opBinary(string op : "/")(const Integer z) const
>    {
>       return new RationalNumber(this, z);
>    }
>
> Getting:
>
> Error: class `rational_number.RationalNumber` member `this` is 
> not accessible		
> Error: template instance `integer.Integer.opBinary!"/"` error 
> instantiating		

The error message says that the constructor of `RationalNumber` 
is not accessible, not the `this` reference of `integer.Integer`.


More information about the Digitalmars-d-learn mailing list