On 30-10-2012 11:13, Nick Sabalausky wrote:
Ok, a C function pointer like this:
struct MyStruct{
int (*foo)(int);
};
Translates to D as this:
struct MyStruct{
int function(int) foo;
}
But what about calling conventions? There isn't any "int extern(C)
function(int)" is there? Not sure if that would even make sense.
So do you just make sure that whatever func you assign to it is an
extern(C)? Or something else?
You generally do it this way:
alias extern (C) int function(int) MyFn;
struct MyStruct {
MyFn foo;
}
This makes sure the calling convention is correct. In general, calling
convention is part of both the function signature and function pointer
type - function pointers just default to extern (D).
--
Alex Rønne Petersen
a...@lycus.org
http://lycus.org