0

XPCOM コンポーネントでスレッドを開始したいと考えています。ここにスレッドを作成するためのコードがあります

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: '型キャスト': 'void (__thiscall P2P::* )(nsCOMPtr)' から 'void (__cdecl *)(nsCOMPtr)' に変換できません

4

1 に答える 1

0

P2P::test を静的にし、__cdecl 呼び出し規約を追加します。

于 2009-10-01T13:34:37.387 に答える