struct DelegateList(Args...)
{
public:
    alias DelegateHandler = void delegate(Args args) nothrow;

    DelegateHandler[] items;

    void opCall(Args args) nothrow
    {
        foreach (i; items)
            i(args);
    }
}

DelegateList!(string, int) list; // Compile OK so far
DelegateList!(string, int*) list2; // Compile OK so far
DelegateList!(string, ref int) list3; // Compile error -> How to make it work?

Thanks
Pham

Reply via email to