On Tuesday, 23 August 2016 at 07:17:16 UTC, Jack Applegame wrote:
This is impossible since pointers to local variables are unknown at compile time.

This is a bit strange, as the local variables aren't known either and they seem to work. I do not want to get the address, rather an alias to `&variable` expression.

But you can generate arguments list that contains functions that return pointers at run-time:

template Repeat(int N, alias variable) {
        auto ptr() @property { return &variable; }
        import std.meta : AliasSeq;
        static if(N == 1) alias Repeat = ptr;
        else alias Repeat = AliasSeq!(ptr, Repeat!(N-1, variable));
}

void foo(int* x, int* y, int* z) {
}

void main() {
    int bar = 42;
    foo(Repeat!(3, bar));
}

Anyway, this solution works perfectly fine, thanks.



Reply via email to