全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1515
推到 Plurk!
推到 Facebook!

關於THREAD的錯誤

答題得分者是:daldal
king5201
一般會員


發表:16
回覆:10
積分:5
註冊:2009-12-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-12-28 06:01:40 IP:118.169.xxx.xxx 訂閱
這是程式中的其中一部分:
HANDLE ret;
unsigned threadID;
ret = (void *)_beginthreadex(NULL, 0x1000, thread_handler,
(void *)t, 0,
&threadID); //問題出現反白的地方

但是COMPILER卻出現

[C Error] utils.c(80): E2034 Cannot convert 'unsigned int (*)(void *)' to 'unsigned int(__stdcall *)(void *)'
[C Error] utils.c(80): E2342 Type mismatch in parameter '__start' (wanted 'unsigned int (__stdcall *)(void *)', got 'unsigned int (*)(void *)')

這兩個問題
請問是什麼原因呢?
daldal
高階會員


發表:6
回覆:102
積分:226
註冊:2007-06-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-12-28 17:37:37 IP:61.219.xxx.xxx 未訂閱
你的 thread_handler 是一個自訂的 Function
按照錯誤敘述內容,把__stdcall部分加上即可

.cpp & .h
[code cpp]
unsigned int thread_handler(LPVOID LParam) 改成
unsigned int __stdcall thread_handler(LPVOID LParam)
{
//你的程式碼
}
[/code]

編輯記錄
daldal 重新編輯於 2009-12-28 17:38:19, 註解 無‧
系統時間:2024-04-20 17:43:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!