函数指针和调用约定

Yul*_*ulo 17 c function

float __stdcall (*pFunc)(float a, float b) = (float (__stdcall *)(float,float))0x411280;
Run Code Online (Sandbox Code Playgroud)

如何用调用约定声明一个函数指针?上面给了我一个错误.

nam*_*mey 39

诀窍是将__stdcall放在括号内,如下所示:

float (__stdcall *pFunc)(float a, float b) = (float (__stdcall *)(float,float))0x411280;
Run Code Online (Sandbox Code Playgroud)

当然,建议您使用typedef,但同样的技巧适用:

typedef float (__stdcall *FuncType)(float a, float b);
Run Code Online (Sandbox Code Playgroud)

  • 如果我错了,请纠正我,但不要我们想要`typedef`**`float`**`(__ stdcall*FuncType)(浮动a,浮动b)`? (2认同)