The following fails because the compiler assumes I am trying to dereference non-pointer variables. Can this be done?

void main()
{
    int i;
    int* pi;
    double d;
    double* pd;
    char c;
    char* pc;

    scan(i, pi, d, pd, c, pc);
}

void scan(A...)(ref A data)
{
    import std.traits;
    foreach (element; data) {
        if(isPointer!(typeof(element)) && isIntegral!(typeof(*element))) {
            *element = 10;
        }
    }
}

Thanks

Reply via email to