2011-01-28 83 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);