On Friday, 20 April 2012 at 14:10:31 UTC, Xan wrote:
What fails if I want to define this:
Algorisme!(T,V) opBinary(string op)(Algorisme!(T,U) alg) {
if (op=="*") {
//fer la funció composicio
return new Algorisme!(T,V)("Composició de "~this.nom ~ " i
" ~ alg.nom, 1, function(T t) { return
this.funcio(alg.funcio(t)); } );
}
}
}
within my
class Algorisme(U,V) {
string nom;
uint versio;
alias V function (U) Funcio;
Funcio funcio;
...
}
?
I want to combine Algorisme(U,V) and Algorisme(T,V) with
operator. Is it possible?
The errors I get are:
gdmd-4.6 algorisme
algorisme.d:32: Error: undefined identifier T, did you mean
variable E?
algorisme.d:51: Error: 'alg' is not of arithmetic type, it is a
algorisme.Algorisme!(int,int).Algorisme
algorisme.d:51: Error: 'alg2' is not of arithmetic type, it is
a algorisme.Algorisme!(int,int).Algorisme
Thanks in advance,
Xan.
The full code is here: https://gist.github.com/2429005
(I put the code out of the class and I drop one error)