DWORD WINAPI Cfun::TalkThread(LPVOID p) //静态函数
{ CSBSession pTalkSession;
pTalkSession.Create(); //出错
}
class CSBSession
{
public:
void Create();
};
{ CSBSession pTalkSession;
pTalkSession.Create(); //出错
}
class CSBSession
{
public:
void Create();
};
Cfun::CreateSessionThread()
{
CreateThread(..,&m_SBSession,..);//将m_SBSession作为参数传入
}
DWORD WINAPI Cfun::TalkThread(LPVOID p)
{ CSBSession* pTalkSession = (CSBSession*)p;
pTalkSession->Create();
}class CSBSession
{
public:
void Create();
};
这并不是说不能调,而是create函数有问题,可以跟踪一下
1,申明为友元函数,
2,将对象指针传递进去,然后在线程函数中,强制转换(这个有时用起来会有问题)
3,将handle传递进去,然后需要调用时,通过handle传递出来,在外面调用类的函数(这个方法推荐使用)
问题可能出在Create的代码中。
3,将handle传递进去,然后需要调用时,通过handle传递出来,在外面调用类的函数(这个方法推荐使用)怎么写?
CSBSession* pTalkSession;
{
////
}难道到了
creat到底是个什么错误呢?、