binary expression...
captain_fid via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat May 21 12:00:12 PDT 2016
On Saturday, 21 May 2016 at 18:31:46 UTC, vit wrote:
> On Saturday, 21 May 2016 at 18:10:55 UTC, captain_fid wrote:
>> Please forgive if asked before. My google skills seemed to
>> fail me and didn't see any result from search.
>>
>> My problem is simple (though not my understanding LOL).
>>
>> struct D {
>> int value;
>> bool opEquals()(bool value) const { return (value ==
>> value); }
>> }
>>
>> D aD;
>> if (aD == 1) { // OK
>> }
>>
>> if (aD) { // Error: expression aD of type D does not
>> have a boolean value
>> }
>>
>> Is there a way to overload for this? What am I missing?
>
> struct D {
> int value;
>
> alias value this; ///"implicit cast"
>
> bool opEquals()(bool value) const {
> return (this.value == value); ///'this.' is required
> }
> }
Thanks both vit and anonymouse. (And I couldn't even provide a
good example -- didn't mean to use 'value' for opEquals() arg
.... argggggg
Regardless -- vit, your suggestion compiled (and I laughed) but
I'm not sure what's getting called. The opEquals() overload
doesn't seem to be it. Hard returns of true or false don't seem
to impact code. Hmmm.
I'll also check anoymouse's suggestion.
Regardless, thanks for the assistance.
More information about the Digitalmars-d-learn
mailing list