No subject


Sat Nov 15 23:40:05 PST 2008


incompatible types that just happen to be the same under the hood.

> typedef int BlockNum;
> BlockNum a = cast(BlockNum) 42;
> someFuncThatTakesAnInt(cast(int) a);

The last is if you need something that's basically an int, but you want
it to behave differently.  In that case, a struct with operators is your
best bet.

Let's say you wanted to do something like a Meters struct to store
lengths.  I'd do something like this:

> struct Meters {
>     private int value;
>     int asInt() { return value; }
>     int asInt(int v) { return value=v; }
>     // ... operator overloads ...
> }
>
> Meters a; a.asInt = 42;
> someFuncThatTakesAnInt( a.asInt );

I can't really offer more than that, since I don't know what it is
you're trying to accomplish.

  -- Daniel


More information about the Digitalmars-d-learn mailing list