binary expression...

vit via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat May 21 11:31:46 PDT 2016


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
	}
}


More information about the Digitalmars-d-learn mailing list