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"));
}


Reply via email to