看板 C_and_CPP 關於我們 聯絡資訊
小弟最近在練multithread程式遇到一個問題 之前用C寫的時候 呼叫CreateThread()只要把函數名稱當成參數丟進去就好(應該沒錯吧?XD) 現在想改用C++寫 class Test { void A(); void B(); }; 當呼叫A()時 我希望A()裡面呼叫CreateThread()去做B() 但如果參數直接丟B 會跑出 函式呼叫遺漏引數清單,請用 '&Test::B' 建立成員的指標 可是當我照他說的把 B 改成 &Test::B 後 又會跑出 '&' : 界限成員函式運算式的作業不合法 想請教板上的高手 這個問題該怎麼解決 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.167.203.228
james732:最簡單的方法 把B宣告為static member function 07/14 23:36
newdominic:照j大的方式改過以後 現在錯誤訊息變成 07/14 23:59
newdominic:無法將參數 3 從 'void (__cdecl *)(char *)' 轉換成 07/14 23:59
newdominic:'LPTHREAD_START_ROUTINE' 範圍中沒有符合目標類型的 07/14 23:59
newdominic:函式 (使用此名稱) 07/14 23:59
newdominic:B的傳入參數改成LPVOID lpParam就解決了 感謝! 07/15 10:24