Am 10.10.2013 16:13, schrieb Namespace:
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?
If you can change the signature of foo just add a extern(c) to the function pointer declaration.
Otherwise just wrap the SDL_FreeSurface call into a delegate on the caller side.
-- Kind Regards Benjamin Thaut
