这是在C++中的类型强制转换。很正常。LPVOIP pParam
之所以参数如此声明,是为了方便。不要在参数定义中加入类的定义。

解决方案 »

  1.   

    是一个结构的指针,进行转换后。
    得到的是这个结构的一部分FIELD。
      

  2.   

    这个参数是在启动线程的时候传递参数使用的。
    在C/C++中一个LPVOID可以包含任何参数,方法如下:
    把所有要用的参数做一个struct或class,然后传递指针,强行转换到LPVOID即可,若参数简单如只有一个int,需要传递,直接强行转换(如 (LPVOID)i),若不需要任何参数,你不要理会pParam就可以了。
    在使用pParam时需要强行转换回来,如int i = (int)pParam;
      

  3.   

    看看CSendReceiDataDlg的定义,
    可能CSendReceiDataDlg的父类是CReceiver。或CReceiver是CSendReceiDataDlg的第一个成员。
    这样指向CSendReceiDataDlg的指针也指向了CReceiver。
    把CReceiver和CSendReceiDataDlg的定义帖出来!
      

  4.   

    你的那个LPVOIP pParam应该是LPVOID pParam吧?你创建线程的时候(利用的_beginthread),你不是给了它一个参数吗?那个参数就是现在的pParam或者,你利用MFC socket可能没有看到创建线程这一步(我不太清楚,mfc隐藏了很多细节,容易让初学者陷入误区)
      

  5.   


    CReceiver 和 CSendReceiDataDlg 必须是同一个基类。并且包含在pParam指针指向得类实例中。
      

  6.   

    to:
    你创建线程的时候(利用的_beginthread),你不是给了它一个参数吗?那个参数就是现在的pParam我根本没有明确给出参数的:
    AfxBeginThread(AcceptThread,this,THREAD_PRIORITY_NORMAL);
      

  7.   

    this不就是你给的参数吗?
    兄弟,你的基础也太差了点吧。
    多看看C++的书!
      

  8.   

    上面几位老兄补充的很对,this已经是你传递的参数了,
    不过this到底包含了些什么?
    哦,我明白了
    你的this代表指向CReceiver的指针。这是MFC地用法。呵呵,那个PVOID参数当真强大的很,不仅可以传递类,还可以传递变量,传递函数指针。
    好好体会了
      

  9.   

    说具体一点,你的this,就把当前类的地址告诉了你先创建的线程。
    你的线程利用强制转换那个PVOID参数,就可以调用你的类的所有东东了?这还不是参数还是啥?