线程函数的位置

phalcon 2003-08-19 11:38:22
一个MFC程序 线程函数采取全局函数的定义方式 头文件中定义如下
UINT SendWorker(LPVOID pParam);

class CICPDlg : public CDialog
{
.....

但是在cpp文件中全局函数实现部分该写在哪个位置呢 我将它写在一个CICPDlg的成员函数之前 如
UINT SendWorker(LPVOID pParam);
{
......
}

CString CICPDlg::GetTIP(CString str)
{
...
}
编译时总是显示错误 GetTIP这一行 local function definition illegal
把后面这个函数提到全局函数上面去就没事了 但是如果再有一个新建的成员函数加进来 即使是在全局函数的下面 也没问题 这个怎么解释? 请教

...全文
19 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
comstar 2003-08-20
  • 打赏
  • 举报
回复
如果只是被一个类使用,可以定义为静态的成员函数.
phalcon 2003-08-20
  • 打赏
  • 举报
回复
"你是否在GetTIP里调用了线程函数?" No GetTip只是一个普通的成员函数
vcforever 2003-08-20
  • 打赏
  • 举报
回复
写在类外部的任何地方!
我一般都写在.cpp文件的顶部!
soso82 2003-08-20
  • 打赏
  • 举报
回复
你是否在GetTIP里调用了线程函数?如果是这样的话,因为你的线程还没有声明,所以会出错。把它调到前面来再调用,就不会有错了
ustclancelot 2003-08-20
  • 打赏
  • 举报
回复
理论上来说,线程函数定义部分只要在启动线程之前就可以了,甚至连头文件中的原型都不需要。你碰到的现象,个人觉得可能是有其他因素作用的结果。
phalcon 2003-08-20
  • 打赏
  • 举报
回复
nobody know?

15,471

社区成员

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

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