array of functions

Jarrett Billingsley jarrett.billingsley at gmail.com
Thu Jun 4 09:58:04 PDT 2009


On Thu, Jun 4, 2009 at 12:42 PM, Trass3r <mrmocool at gmx.de> wrote:
> I tried to use a function lookup table to quickly access a particular one.
> But the compiler (dmd1) complains about
> Error: non-constant expression & func
>
> I guess because it's used inside a class since &func is of type function,
> not delegate?

You've got it the other way around.  If func is an instance method
(non-static method) of a class, &func is a delegate, not a function.

It can't evaluate &func at compile-time because there is no way to
create a delegate at compile-time.  You need an instance to create a
delegate, which you can only create by using 'new', which only works
at runtime.


More information about the Digitalmars-d-learn mailing list