IFTI Bug
Kirk McDonald
kirklin.mcdonald at gmail.com
Sun Jul 9 22:10:44 PDT 2006
Kramer wrote:
> I imagine this should work. The factorial code is straight from the docs.
>
> import std.stdio;
>
> void main()
> {
> writefln(factorial(2));
> }
>
> template factorial(int n)
> {
> static if (n == 1)
> const factorial = 1;
> else
> const factorial = n * factorial!(n-1);
> }
>
> C:\code\d\src>dmd template_ex_1.d
> template_ex_1.d(8): template template_ex_1.factorial(int n) is not a
> function template
> template_ex_1.d(5): template template_ex_1.factorial(int n) cannot
> deduce template function from argument types (int)
>
> -Kramer
You need to instantiate the template with a bang:
void main() {
writefln(factorial!(2));
}
IFTI only applies to function templates, which this is not.
--
Kirk McDonald
Pyd: Wrapping Python with D
http://dsource.org/projects/pyd/wiki
More information about the Digitalmars-d-bugs
mailing list