本帖最后由 VisualEleven 于 2012-02-27 08:04:00 编辑

解决方案 »

  1.   

    就是因为运行ThreadParam.pCode->code=0的时候pCode还没初始化,指向的应该是NULL,这时候就会有访问空指针的错误了。先malloc个内存空间给pCode:
    ThreadParam.pCode = (struct _TRANSMITCODE*)malloc(sizeof(struct _TRANSMITCODE));
    然后再初始化pCode的几个成员就没问题了。
      

  2.   


    我也这么想的,但是我想后面的Logininfo也需要初始化吧?
      

  3.   


    那怎么给Logininfo初始化呢?结构体感觉好复杂....
      

  4.   

    按照你给的结构体定义
    ThreadParam.pCode->Logininfo.Hostnum=m_usernum;
    ThreadParam.pCode->Logininfo.password=m_userpwd;
    这俩句就对了。
      

  5.   


    我已经清理了解决方案(VS2010)了,跑起来之后程序停在ThreadParam.pCode->Logininfo.password=m_userpwd;
    然后说 CXX0030:错误无法计算表达式的值.说logininfo.usernum/password是错误的指针
      

  6.   

    ThreadParam.pCode->code=0;//
    你THREADPARAM结构体中的_TRANSMITCODE *pCode;成员并没有为它分配内存空间
      

  7.   


    加个断点看看运行到出错的前一步m_usernum和m_userpwd的值是什么吧。