
为什么在DWORD WINAPI里使用不到外部函数
如这样,为什么??听说是this指针不同voidCMyWindow1Dlg::myUpdate(void){UpdateData(false);}DWORDWINAPIT...
如这样,为什么??听说是this指针不同
void CMyWindow1Dlg::myUpdate(void)
{
UpdateData(false);
}
DWORD WINAPI ThreadProc(LPVOID lpParameter)
{
myUpdate();
}
C++ 展开
void CMyWindow1Dlg::myUpdate(void)
{
UpdateData(false);
}
DWORD WINAPI ThreadProc(LPVOID lpParameter)
{
myUpdate();
}
C++ 展开
1个回答
展开全部
myUpdate不是外部函数,而是一个class的成员函数,跟普通的函数不一样的,使用成员函数必须带class的实例的,像下面这样调用才行:
CMyWindow1Dlg mywin;
mywin.myUpdate();
CMyWindow1Dlg mywin;
mywin.myUpdate();
追问
他们在同一个代码页面呢,怎么调用不到,例如 有一个按钮单击事件,都是可以调用啊
void CMyWindow1Dlg::OnBnClickedButton6()
{
// TODO: 在此添加控件通知处理程序代码
myUpdate();
}
void CMyWindow1Dlg::myUpdate(void)
{
UpdateData(false);
}
追答
OnBnClickedButton6能直接调用的原因是它也是CMyWindow1Dlg类的成员函数,你没发现它和myUpdate都有一个特点吗,前面都有CMyWindow1Dlg::。可是ThreadProc函数跟它们不一样啊,它的前面没有CMyWindow1Dlg::
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询