What is parameter tuple actually?

Yang Bo pop.atry at gmail.com
Tue Oct 16 20:11:02 PDT 2007


on gdc, this code does not works:

template TestLines(alias Line) {
  const char[] lineString = Line.stringof;
  const uint line = Line;
}

unittest{
  assert(TestLines!(__LINE__).lineString == __LINE__.stringof);
  assert(TestLines!(__LINE__).line == __LINE__);
}


But, if I use tuple instead, it works:


template TestLines(Args...) {
  const char[] lineString = Args[0].stringof;
  const uint line = Args[0];
}

unittest{
  assert(TestLines!(__LINE__).lineString == __LINE__.stringof);
  assert(TestLines!(__LINE__).line == __LINE__);
}

I wonder why.



More information about the Digitalmars-d mailing list