![](/img/trans.png)
[英]What is the difference between pointer to function and pointer to WINAPI function?
[英]What is the correct function pointer for an unsigned WINAPI function?
我有一個這樣聲明的函數:
unsigned WINAPI searchSTR(void *j);
我需要一個指向此函數的指針。 我的想法是:
unsigned (*pointerF) (void*);
pointerF = &searchSTR;
但是有一個錯誤:
"1 error C2440: '=' : cannot convert from 'unsigned int (__stdcall *)(void *)' to 'unsigned int (__cdecl *)(void *)' ".
我嘗試了其他sintax,但似乎沒有正確的選擇,他不喜歡WINAPI這個詞。
您能建議我正確的語法嗎? 也許很容易,但是我被封鎖了! 謝謝大家
WINAPI
宏擴展為__stdcall
,這是與默認__cdecl
不同的調用約定。 您需要使用調用約定來標記函數指針以使用:
unsigned (WINAPI *pointerF) (void*)
auto pointerF = &searchSTR;
停止編寫1990年的代碼。 編譯器已經知道正確的類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.