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

呼び出し規約で関数ポインタを宣言する方法は? 上記は私にエラーを与えます。

4

3 に答える 3

42

トリックは、次のように __stdcall を括弧内に配置することです。

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

もちろん、代わりに typedef を使用することをお勧めしますが、同じトリックが適用されます。

typedef float (__stdcall *FuncType)(float a, float b);
于 2011-01-28T16:55:55.650 に答える
0

__fastcall最適化されたもの(最速の呼び出し規約)ですが、不明な理由で使用されていません

試す:

int (__fastcall *myfunction)(int,float);
于 2011-01-28T23:58:39.233 に答える