On Sat, 29 Oct 2011 12:11:42 -0400, J Arrizza <cppge...@gmail.com> wrote:

Thanks for the reply Jonathan, but it didn't work for me:

void abc(T) (T[] parm1)
if (isDynamicArray!T)
{
  writeln("array : ", parm1);
}


Nor did:

void abc(T) (T[] parm1)
if (isStaticArray!T)
{
  writeln("array : ", parm1);
}


Output is the same:

simpleparm: 1
simpleparm: str
simpleparm: [1, 2]

I know you've since figured it out, but I thought I'd point out why this didn't work.

The reason it doesn't match is because your parameters are arrays of type T, but you are only instantiating if T *itself* is an array. So for example, int[][] would work, because T is matched as int[], giving int[][] as the parm1 type.

-Steve

Reply via email to