多线程遇到这个问题:error C2352: 'CWnd::GetDlgItem' : illegal call of non-static member function

feng0hua0 2008-03-22 08:17:59
在线程函数中调用GetDlgItem函数时会出现错误提示:error C2352: 'CWnd::GetDlgItem' : illegal call of non-static member function
我的线程函数是静态的.这个错误出现的原因也知道,不能在静态函数中调用非静态的函数和成员变量.但是我不知道如何解决这个问题.请各位帮个忙.谢谢了.
...全文
1379 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanglei5695312 2010-06-28
  • 打赏
  • 举报
回复
error C2352: “CWnd::GetDlgItem”: 非静态成员函数的非法调用
XLEdoo 2009-05-17
  • 打赏
  • 举报
回复
我也遇到这样的问题。
feng0hua0 2008-03-22
  • 打赏
  • 举报
回复
解决了,谢谢.
arong1234 2008-03-22
  • 打赏
  • 举报
回复
需要把类对象指针传进线程函数,利用指针调用
cnzdgs 2008-03-22
  • 打赏
  • 举报
回复 1
只有类的静态函数才CWnd::GetDlgItem这样调用,非静态函数要用
实例.GetDlgItem
或者
指针->GetDlgItem
这样调用。
如果你是用一个类的静态函数作为线程函数,可以在创建线程时把类的指针作为参数传过去,线程函数中使用这个指针来访问类成员。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧