On Wed, 21 Nov 2012 12:32:24 -0000, Regan Heath <re...@netmail.co.nz>
wrote:
On Wed, 21 Nov 2012 12:30:08 -0000, Regan Heath <re...@netmail.co.nz>
wrote:
On Wed, 21 Nov 2012 12:02:45 -0000, Jack Applegame
<jappleg...@gmail.com> wrote:
void foo(ref int a) { a--; }
struct functor(A...) {
void function(A) functor;
}
functor!int f; // functor!(ref int) - wrong
f.functor = &foo; // Error: cannot implicitly convert expression (&
foo) of type void function(ref int a) to void function(int)
Hmm.. well I got past your initial problem, but I have a new one..
alias void function(ref int) funcType;
void foo(ref int a) { a--; }
struct functor(A...) {
A func;
}
void main()
{
functor!funcType f;
f.func = &foo; //Error: f.func is not an lvalue
}
Just realised what is happening here. "f.func = " is trying to call the
function, and assign &foo to the "void" result.
Or not, duh! "A..." grr.
alias void function(ref int) funcType;
void foo(ref int a) { a--; }
struct functor(A...) {
A[0] func;
}
void main()
{
functor!funcType f;
f.func = &foo;
}
R
--
Using Opera's revolutionary email client: http://www.opera.com/mail/