我想在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:'type cast':无法从'void(__ thiscall P2P :: *)(nsCOMPtr)'转换为'void(__ cdecl *)(nsCOMPtr)'
答案 0 :(得分:0)
使P2P :: test static并添加__cdecl调用约定。