2009-10-01 61 views
0

我想在XPCOM組件啓動線程。 以下是創建線程_beginthread在XPCOM組件錯誤C2440

nsresult rv = NS_OK; 
    nsCOMPtr<Callback> obj = do_CreateInstance("@jscallback.p2psearch.com/f2f;1", &rv); 
    NS_ENSURE_SUCCESS(rv, rv); 
    char* str="Hello from C++"; 
    _beginthread((void(*)(nsCOMPtr<Callback>))&P2P::test, 0,obj); 

    return NS_OK;//obj->Status(str); 

以下代碼是一個函數

#include "winsock2.h" 
#include <process.h> 
#include "nsCOMPtr.h" 
#include "Callback.h" 
class P2P{ 
public: 
    void test(nsCOMPtr<Callback> obj){ 

} 

}; 

我得到錯誤的

錯誤C2440:「類型轉換」:無法從「無效(__thiscall轉換P2P :: *)(nsCOMPtr的)」到 '無效(__cdecl *)(nsCOMPtr的)'

回答

0

讓P2P ::測試靜態和添加__cdecl調用約定。

+0

....大聲笑:) ...謝謝 – Xinus 2009-10-01 14:43:08