digitalmars.D.learn - Phobos2029 algorithm example can't compile
double[] a=[3.0,4,7,11,3,2,5]; auto ret=reduce!("a+a","a+b*b")(0.0,0.0,a); phobos2Ex.d(13): Error: template std.algorithm.Reduce!("a+a","a+b*b").reduce(E,Range) does not match any function template declaration phobos2Ex.d(13): Error: template std.algorithm.Reduce!("a+a","a+b*b").reduce(E,Range) cannot deduce template function from argument types !()(double,double,double[]) *** Errors occurred during this build *** What's wrong here?Help.
May 04 2009
It can compile if import std.typecons and modify as below: import std.typecons; import std.algorithm; void main() { double[] a=[3.0,4,7,11,3,2,5]; auto ret=reduce!("a+b","a+b*b")(tuple(0.0,0.0),a); } Here a explicit tuple is needed.
May 13 2009