Thread overview | |||||
---|---|---|---|---|---|
|
January 21, 2020 `This` reference not accessible when overloading an operator? | ||||
---|---|---|---|---|
| ||||
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 |
January 21, 2020 Re: `This` reference not accessible when overloading an operator? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Enjoys Math | 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`.
|
January 21, 2020 Re: `This` reference not accessible when overloading an operator? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Enjoys Math | On 1/21/20 3:48 PM, 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
>
Do you have a static somewhere that's affecting this? A more complete code example might help.
-Steve
|
Copyright © 1999-2021 by the D Language Foundation