XPCOM 组件中的 _beginthread 错误 C2440
我想在 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: 'typecast' : 无法从 'void (__thiscall P2P::* )(nsCOMPtr)' 转换为 'void (__cdecl *)(nsCOMPtr) '
I want to start thread in XPCOM Component.
Here is a code for creating thread
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);
Here is a function
#include "winsock2.h"
#include <process.h>
#include "nsCOMPtr.h"
#include "Callback.h"
class P2P{
public:
void test(nsCOMPtr<Callback> obj){
}
};
I am getting error as
error C2440: 'type cast' : cannot convert from 'void (__thiscall P2P::* )(nsCOMPtr)' to 'void (__cdecl *)(nsCOMPtr)'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使 P2P::test 静态并添加 __cdecl 调用约定。
Make P2P::test static and add __cdecl calling convention.