嚴重性 代碼 說明 專案 檔案 行 Suppression State
錯誤(活動) E0167 "DWORD (__stdcall CAAADlg::*)(LPVOID pPram)" 型別的實參與 "LPTHREAD_START_ROUTINE" 型別的形參不兼容
上面是錯誤提示
下面是頭檔案宣告
DWORD WINAPI th(LPVOID pPram);
下面是函式
DWORD WINAPI CAAADlg::th(LPVOID pPram)
{
MessageBox("aaaaaaaaa");
return 0;
}
下面是出問題的地方
m_hListenThread = CreateThread(NULL, 0,th, this, 0, NULL);
uj5u.com熱心網友回復:
//xxxx.h加上 static
class CAAADlg :
{
……
static DWORD WINAPI th(LPVOID pPram);
……
};
uj5u.com熱心網友回復:
加static后宣告變數時提示非靜態成員參考必須與特定物件相對,這個怎么解決?改在哪宣告變數?uj5u.com熱心網友回復:
m_hListenThread = CreateThread(NULL, 0,th, this, 0, NULL); //傳入了thisDWORD WINAPI CAAADlg::th(LPVOID pPram)
{
CAAADlg *pThis = (CAAADlg *)pParam;
//pThis->xxxxx
}
uj5u.com熱心網友回復:
在類中定義的執行緒函式必須加 staticstatic DWORD WINAPI th(LPVOID pPram);
uj5u.com熱心網友回復:
創建執行緒CreateThread必須將物件指標(一般是this)傳遞給lpParameter引數,在執行緒函式中,通過LPVOID pPram(=傳入的this)來訪問類成員
uj5u.com熱心網友回復:
將 this通過執行緒函式引數傳遞進去(注意!!不能進行UI操作)轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/91084.html
標籤:進程/線程/DLL
