Templated Function can't deduce function arguments

Jonathan M Davis jmdavisProg at gmx.com
Wed May 22 20:28:21 PDT 2013


On Wednesday, May 22, 2013 21:31:53 Steven Schveighoffer wrote:
> On Wed, 22 May 2013 21:16:44 -0400, Jonathan Crapuchettes
> 
> <jcrapuchettes at gmail.com> wrote:
> > Can anyone tell me why this doesn't compile? Dmd 2.062 says that it
> > cannot deduce the template function from arguments types.
> > 
> > import std.stdio;
> > 
> > void main()
> > {
> > 
> > test!(dchar, int)('b', 6, 'a', 54);
> > 
> > }
> > 
> > template test(Types...)
> > {
> > 
> > void test(T...)(const Types v, const T values...)
> 
> Do you need that last elipsis? I thought you didn't, but not sure.

You don't, and I'm surprised that it compiles, since I don't think that the 
elipsis is actually legal there. AFAIK, the only time that an elipsis is legal 
in the function arguments is with array variadics; e.g.

auto foo(int[] bar...) {...}

- Jonathan M Davis


More information about the Digitalmars-d-learn mailing list