2010-03-19 18 views

回答

1

不,非靜態類函數有一個隱含的第一個參數(這個),這是他們作爲一個回調使用了ReadFileEx等不相容

+0

這就是我一直在尋找,謝謝回答。 – SimpleButPerfect 2010-03-19 02:46:33

2

你總是可以延長你傳遞給包括指針重疊結構到你的對象。然後,傳遞一個調用該對象成員函數的函數。有點像這樣:

typedef struct _MYOVERLAPPED 
{ 
    OVERLAPPED ol; 
    MyObject *obj; 
} MYOVERLAPPED, *LPMYOVERLAPPED; 

void ReadCompleted(DWORD err, DWORD read, LPMYOVERLAPPED overlap) 
{ 
    overlap->obj->foo(); 
} 

很抱歉,如果有一個在上面的代碼中一些輕微的語法錯誤,它已經有一段時間,因爲我居然寫了一些C++ ...