float __stdcall (*pFunc)(float a, float b) = (float (__stdcall *)(float,float))0x411280;
¿Cómo declarar un puntero de función con una convención de llamada? Lo anterior me da un error.Puntero de función y convención de llamadas
float __stdcall (*pFunc)(float a, float b) = (float (__stdcall *)(float,float))0x411280;
¿Cómo declarar un puntero de función con una convención de llamada? Lo anterior me da un error.Puntero de función y convención de llamadas
El truco es colocar el __stdcall dentro de los paréntesis así:
float (__stdcall *pFunc)(float a, float b) = (float (__stdcall *)(float,float))0x411280;
Por supuesto, se recomienda utilizar un typedef lugar, sino que se aplica el mismo truco:
typedef float (__stdcall *FuncType)(float a, float b);
Si pudiera votar dos veces, lo haría. ¡Muchas gracias! –
Corrígeme si estoy equivocado, pero ¿no queremos que 'typedef' **' float' ** '(__stdcall * FuncType) (float a, float b)'? – zeboidlund
__fastcall
es el optimizado (convención de llamadas más rápidas) pero no se usa por una razón desconocida
Probar:
int (__fastcall *myfunction)(int,float);
¿Cuál es el mensaje de error? – James