Using delegates in callbacks for extern(C) functions

simendsjo simendsjo at gmail.com
Fri Feb 24 10:22:36 PST 2012


I have a C function taking a callback function as a parameter. My thought  
was to wrap this up using a template, but I cannot get it to work:

extern(C) alias void function() Callback;

template Wrap(alias dg)
{
     extern(C) void Wrap()
     {
         dg();
     }
}

void main()
{
     Callback cb = &Wrap!( () {} );
}

Error: cannot implicitly convert expression (&Wrap) of type void  
delegate() pure nothrow @safe to extern (C) void function()


More information about the Digitalmars-d-learn mailing list