无符号WINAPI函数的正确函数指针是什么?

Joe*_*att 2 c++ winapi function-pointers

我有一个以这种方式声明的函数:

unsigned WINAPI searchSTR(void *j);
Run Code Online (Sandbox Code Playgroud)

我需要一个指向这个功能的指针.我的想法是:

unsigned (*pointerF) (void*);
pointerF = &searchSTR;
Run Code Online (Sandbox Code Playgroud)

但是有一个错误:

"1 error C2440: '=' : cannot convert from 'unsigned int (__stdcall *)(void *)'
                                       to 'unsigned int (__cdecl *)(void *)' ".

我尝试了其他的sintax,但似乎没有什么是正确的,他不喜欢WINAPI这个词.

你能建议我正确的语法吗?也许这很容易,但我被阻止了!谢谢大家

Tar*_*ama 5

WINAPI宏展开__stdcall,这是从默认不同的调用约定__cdecl.您需要使用要使用的调用约定标记您的函数指针:

unsigned (WINAPI *pointerF) (void*)
Run Code Online (Sandbox Code Playgroud)