Mike Parker <aldac...@gmail.com> wrote:

For starters, your first delegate is declared in an extern(C) block, meaning it has C linkage. The second is declared outside of the block, meaning it has D linkage. So they are two different types of delegates.

If this is correct, the problem should be fixable by writing

extern(C) void d_foo_add_event_handler(Foo, void delegate());

or (not entirely sure about this one)

alias void delegate() voidDelegate;
extern(C) {
    void d_foo_add_event_handler(Foo, voidDelegate);
}

--
Simen

Reply via email to