2011-01-28 169 views
12
float __stdcall (*pFunc)(float a, float b) = (float (__stdcall *)(float,float))0x411280; 

如何用调用约定声明函数指针?以上给我一个错误。函数指针和调用约定

+1

什么是错误信息? – James 2011-01-28 16:07:10

回答

29

诀窍是放置__stdcall括号内是这样的:

float (__stdcall *pFunc)(float a, float b) = (float (__stdcall *)(float,float))0x411280; 

当然,建议您使用typedef代替,但同样的招数适用:

typedef float (__stdcall *FuncType)(float a, float b); 
+0

如果我可以upvote两次,我会。非常感谢! – 2011-06-02 14:05:48

-1

__fastcall是优化之一(最快通话惯例)但未用于未知原因

尝试:

int (__fastcall *myfunction)(int,float);