convert char[4] to uint at compile time
BCS
ao at pathlink.com
Tue Dec 16 11:54:11 PST 2008
Reply to Moritz,
> Hi,
>
> I have problems to convert a char[4] to an uint at compile time. All
> variations (I've tried) of using an enum crashes dmd:
>
> union pp { char[4] str; uint num; }
> const uint x = pp("abcd").num
> This does also doesn't work:
>
> const uint x = cast(uint) x"aa aa aa aa";
>
> Any ideas?
>
template Go (char[4] arg)
{
const uint Go = (arg[0] << 24) | (arg[1] << 16) | (arg[2] << 8) | arg[3];
}
import std.stdio;
void main()
{
writef("%x\n", Go!("Good"));
}
More information about the Digitalmars-d-learn
mailing list