关于CreateThread()的使用!

csuwuwenlin 2010-07-15 09:03:17
void CMyChatDlg::OnBnClickedOpenserv()
{
// TODO: 在此添加控件通知处理程序代码
m_ListenThread=CreateThread(NULL,0,ListenThreadFunc,NULL,0,NULL);
}
这里就这么一句简单的代码,为什么老是提醒我
error C3867: “CMyChatDlg::ListenThreadFunc”: 函数调用缺少参数列表;请使用“&CMyChatDlg::ListenThreadFunc”创建指向成员的指针
--------
--------
这里是线程函数:
public:
DWORD WINAPI ListenThreadFunc(LPVOID pParam)
{
MessageBox(_T("algag"));
}
这函数的LPVOID 写没写都是一样的提示。哪位可以帮帮解决下?
...全文
105 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
csuwuwenlin 2010-07-15
  • 打赏
  • 举报
回复
这里实在是太好了 最近的学习都得到了这里好多人的帮着 我才发帖几分钟就帮我解决了问题 多谢大家!
gengzhen_2005 2010-07-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wltg2001 的回复:]
线程函数只能是全局的函数或是类的静态成员变量,所以,要么将
public:
DWORD WINAPI ListenThreadFunc(LPVOID pParam)
{
MessageBox(_T("algag"));
}
改为:static DDWORD WINAPI ListenThreadFunc(LPVOID pParam)
要么将上面的函数写在类的外面,写成一个全局函数。
[/Quote]
楼上说的极是,楼主试试看。
wltg2001 2010-07-15
  • 打赏
  • 举报
回复
线程函数只能是全局的函数或是类的静态成员变量,所以,要么将
public:
DWORD WINAPI ListenThreadFunc(LPVOID pParam)
{
MessageBox(_T("algag"));
}
改为:static DDWORD WINAPI ListenThreadFunc(LPVOID pParam)
要么将上面的函数写在类的外面,写成一个全局函数。
muzizongheng 2010-07-15
  • 打赏
  • 举报
回复
m_ListenThread=CreateThread(NULL,0,&CMyChatDlg::ListenThreadFunc,NULL,0,NULL);

应该如上。
cpp2017 2010-07-15
  • 打赏
  • 举报
回复
ListenThreadFunc 前面加
static

15,471

社区成员

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

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