Class CSplitView{
public:
  CStudent student;(自己写的类)
  .......
  ......
}
SplitThreadProc(LPVOID pParam)
{
CSplitView* pView = (CSplitView*)pParam;
pView->student.该类的函数;
.......
}
为什么会非法操作阿???

解决方案 »

  1.   

    检查一下pView是否指向一个有效的对象。
      

  2.   

    pView->student.该类的函数;如果这个函数是私有或者保护类型就是会出现非法访问。因为不是友元。
      

  3.   

    pView好像上个无效的对象,怎么回事阿
    pView->student.该类的函数(public函数)
      

  4.   

    MFC句柄封装类只在创建句柄的线程中有效,在其它线程中访问会出现无法预料的结果。适当的访问方式是直接访问句柄。
    更多信息参见http://www.csdn.net/develop/read_article.asp?id=23171
      

  5.   

    回调函数是否声明了 CALLBACK
      

  6.   

    最好的办法,就是定义静态线程函数,加上定义全局变量.CSplitView* pView;
    pView=this;SplitThreadProc(LPVOID pParam)
    {
    pView = (CSplitView*)pParam;
    pView->student.该类的函数;
    .......
    }