为什么在DWORD WINAPI里使用不到外部函数

如这样,为什么??听说是this指针不同voidCMyWindow1Dlg::myUpdate(void){UpdateData(false);}DWORDWINAPIT... 如这样,为什么??听说是this指针不同
void CMyWindow1Dlg::myUpdate(void)
{
UpdateData(false);
}
DWORD WINAPI ThreadProc(LPVOID lpParameter)
{
myUpdate();
}
C++
展开
 我来答
wenqing8585
2015-09-11 · TA获得超过8258个赞
知道大有可为答主
回答量:8078
采纳率:70%
帮助的人:4214万
展开全部
myUpdate不是外部函数,而是一个class的成员函数,跟普通的函数不一样的,使用成员函数必须带class的实例的,像下面这样调用才行:

CMyWindow1Dlg mywin;

mywin.myUpdate();
追问
他们在同一个代码页面呢,怎么调用不到,例如 有一个按钮单击事件,都是可以调用啊
void CMyWindow1Dlg::OnBnClickedButton6()
{
// TODO: 在此添加控件通知处理程序代码
myUpdate();
}

void CMyWindow1Dlg::myUpdate(void)
{
UpdateData(false);
}
追答
OnBnClickedButton6能直接调用的原因是它也是CMyWindow1Dlg类的成员函数,你没发现它和myUpdate都有一个特点吗,前面都有CMyWindow1Dlg::。可是ThreadProc函数跟它们不一样啊,它的前面没有CMyWindow1Dlg::
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式