On Thursday, 10 October 2013 at 14:13:47 UTC, Namespace wrote:
I have this function:
----
void foo(T)(void function(T*) test) { }
----

And want to call it with a C function:
----
foo!(SDL_Surface)(SDL_FreeSurface);
----

but I get:
Fehler 1 Error: foo (void function(SDL_Surface*) test) is not callable using argument types (extern (C) void function(SDL_Surface*) nothrow)

What would be the smartest solution?

Wrap it in a lambda. Or change foo() signature to accept `extern(C)` functions - you can't just mix calling convention.

Reply via email to