由於類的成員函式在編譯時會預設含有本類的this引數,這與執行緒函式要求的有且僅有乙個void*引數不符,因此需要將作為類成員的執行緒入口函式宣告為static,因為static成員函式沒有預設的this指標。但static成員函式又不能操作類的非static成員變數,故需要將this指標顯示地傳給執行緒函式的void*形參,以此完美地實現執行緒函式作為類成員。
class vmicmaincontrol
;
參考資料:
類成員作為執行緒入口函式
把類成員函式宣告為友元函式。函式實現在類外實現。一定要這樣。不然用其他奇葩少見的方法獲取類成員函式的位址,會造成不可預料的後果。執行緒入口函式的上下文引數傳入this指標,以便訪問類的proteted和private成員。以下是示例 1 定義控制台應用程式的入口點。23 include stdafx...
類成員函式作為執行緒函式
include windows.h include class exampletask void exampletask taskmain lpvoid param void exampletask starttask int main int argc,char argv 出現編譯錯誤 error...
類成員函式作為執行緒函式
黙 座 類成員函式作為執行緒函式 2011 01 10 14 54 43 分類 windows 字型大小 訂閱 類成員函式不能作為執行緒函式 一般來說,c 的類成員函式不能作為執行緒函式。這是因為在類中定義的成員函式,編譯器會給其加 上this指標。請看下列程式 include windows.h ...