高深的问题,小弟不明白,关于线程参数:UP有分 这是在C++中的类型强制转换。很正常。LPVOIP pParam之所以参数如此声明,是为了方便。不要在参数定义中加入类的定义。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是一个结构的指针,进行转换后。得到的是这个结构的一部分FIELD。 这个参数是在启动线程的时候传递参数使用的。在C/C++中一个LPVOID可以包含任何参数,方法如下:把所有要用的参数做一个struct或class,然后传递指针,强行转换到LPVOID即可,若参数简单如只有一个int,需要传递,直接强行转换(如 (LPVOID)i),若不需要任何参数,你不要理会pParam就可以了。在使用pParam时需要强行转换回来,如int i = (int)pParam; 看看CSendReceiDataDlg的定义,可能CSendReceiDataDlg的父类是CReceiver。或CReceiver是CSendReceiDataDlg的第一个成员。这样指向CSendReceiDataDlg的指针也指向了CReceiver。把CReceiver和CSendReceiDataDlg的定义帖出来! 你的那个LPVOIP pParam应该是LPVOID pParam吧?你创建线程的时候(利用的_beginthread),你不是给了它一个参数吗?那个参数就是现在的pParam或者,你利用MFC socket可能没有看到创建线程这一步(我不太清楚,mfc隐藏了很多细节,容易让初学者陷入误区) CReceiver 和 CSendReceiDataDlg 必须是同一个基类。并且包含在pParam指针指向得类实例中。 to:你创建线程的时候(利用的_beginthread),你不是给了它一个参数吗?那个参数就是现在的pParam我根本没有明确给出参数的: AfxBeginThread(AcceptThread,this,THREAD_PRIORITY_NORMAL); this不就是你给的参数吗?兄弟,你的基础也太差了点吧。多看看C++的书! 上面几位老兄补充的很对,this已经是你传递的参数了,不过this到底包含了些什么?哦,我明白了你的this代表指向CReceiver的指针。这是MFC地用法。呵呵,那个PVOID参数当真强大的很,不仅可以传递类,还可以传递变量,传递函数指针。好好体会了 说具体一点,你的this,就把当前类的地址告诉了你先创建的线程。你的线程利用强制转换那个PVOID参数,就可以调用你的类的所有东东了?这还不是参数还是啥? 动态显示工具栏 的提示信息 关于GetSystemTime的问题 在COleControl中打开的Popup型对话框,如何接收TAB等键? 求助:如何得到cd的标题? 关于 对话框的问题 100分求助了 欢迎大家发表大家,^_^ 关于数据拦截,呼唤大虾!! 大虾!大风!大风!大虾! 通过手工编成创建菜单 CEdit类使用的问题,高手指点 菜鸟急题:一个树形控件,我想对它实现下面的功能 c的输入输出的菜鸟问题 vc怎么实现发送一封包含暗送和抄送的信件?
得到的是这个结构的一部分FIELD。
在C/C++中一个LPVOID可以包含任何参数,方法如下:
把所有要用的参数做一个struct或class,然后传递指针,强行转换到LPVOID即可,若参数简单如只有一个int,需要传递,直接强行转换(如 (LPVOID)i),若不需要任何参数,你不要理会pParam就可以了。
在使用pParam时需要强行转换回来,如int i = (int)pParam;
可能CSendReceiDataDlg的父类是CReceiver。或CReceiver是CSendReceiDataDlg的第一个成员。
这样指向CSendReceiDataDlg的指针也指向了CReceiver。
把CReceiver和CSendReceiDataDlg的定义帖出来!
CReceiver 和 CSendReceiDataDlg 必须是同一个基类。并且包含在pParam指针指向得类实例中。
你创建线程的时候(利用的_beginthread),你不是给了它一个参数吗?那个参数就是现在的pParam我根本没有明确给出参数的:
AfxBeginThread(AcceptThread,this,THREAD_PRIORITY_NORMAL);
兄弟,你的基础也太差了点吧。
多看看C++的书!
不过this到底包含了些什么?
哦,我明白了
你的this代表指向CReceiver的指针。这是MFC地用法。呵呵,那个PVOID参数当真强大的很,不仅可以传递类,还可以传递变量,传递函数指针。
好好体会了
你的线程利用强制转换那个PVOID参数,就可以调用你的类的所有东东了?这还不是参数还是啥?