Thank you very very much, Dmitry. Now all it's fine!

Xan.

On Friday, 20 April 2012 at 19:51:40 UTC, Dmitry Olshansky wrote:
On 20.04.2012 23:33, Xan wrote:
Yes, you're wright. So in.

But what fails?

I reveice these errors and I have no idea what fails!


Sorry, the errors are:

$ gdmd-4.6 algorisme.d
algorisme.d:35: Error: 'this' is only defined in non-static member
functions, not __funcliteral1

Easy - _this_ inside of
 function (T t) { return this.funcio(alg.funcio(t)); }

Is not going to fly because there is no way to "store" _this_ in function, use delegates (this is a context and it has to be "copied" -> use delegates). But then you'd have to change to delegate everywhere.

(and there is toDelegate function in std.functional, that converts function to delegate)

algorisme.d:35: Error: function
algorisme.Algorisme!(int,int).Algorisme.opBinary!("*",int).opBinary.__funcliteral1
cannot access frame of function
algorisme.Algorisme!(int,int).Algorisme.opBinary!("*",int).opBinary
algorisme.d:35: Error: function
algorisme.Algorisme!(int,int).Algorisme.opBinary!("*",int).opBinary.__funcliteral1
cannot access frame of function
algorisme.Algorisme!(int,int).Algorisme.opBinary!("*",int).opBinary
algorisme.d:35: Error: function
algorisme.Algorisme!(int,int).Algorisme.opBinary!("*",int).opBinary.__funcliteral1
cannot access frame of function
algorisme.Algorisme!(int,int).Algorisme.opBinary!("*",int).opBinary
algorisme.d:35: Error: constructor
algorisme.Algorisme!(int,int).Algorisme.this (string nom, uint versio,
int function(int) funcio) is not callable using argument types
(string,int,_error_ function(int t) nothrow @system)
algorisme.d:35: Error: cannot implicitly convert expression
(__funcliteral1) of type _error_ function(int t) nothrow @system to int
function(int)
algorisme.d:52: Error: template instance
algorisme.Algorisme!(int,int).Algorisme.opBinary!("*",int) error
instantiating



I update the gist: https://gist.github.com/2429005


Reply via email to