在CFileTrans类里定义:
         USERINFO m_tarUserInfo;         void SetTarUserInfo(USERINFO tarUserInfo)
{
m_tarUserInfo = tarUserInfo;
}
在CLogin类里使用:
         CFileTrans* m_fileTrans;
     
         void SetTarUserInfo(USERINFO tarUserInfo)
{
m_fileTrans->SetTarUserInfo(tarUserInfo);
}
在MainDlg类里使用:
         CLogin m_Login;
         USERINFO m_tarUserInfo;         m_Login.SetTarUserInfo(m_tarUserInfo);其中USERINFO为一个结构体,MainDlg类里已经给m_tarUserInfo赋值,编译没问题,运行就提示如下:
0x00445f54 处未处理的异常: 0xC0000005: 写入位置 0xcccccf34 时发生访问冲突 。此时指向CFileTrans类的
         void SetTarUserInfo(USERINFO tarUserInfo)
{
m_tarUserInfo = tarUserInfo;
}
怎么回事呢?该如何解决啊

解决方案 »

  1.   

    CFileTrans* m_fileTrans;
        
      void SetTarUserInfo(USERINFO tarUserInfo)
    {
    m_fileTrans->SetTarUserInfo(tarUserInfo);
    }==你根本没有给m_fileTrans指针分配空间啊,怎么可能进行指针操作呢???必死无疑啊。
      

  2.   

    在CLogin类的构造函数中,增加 m_fileTrans = new CFileTrans;
      

  3.   

    在CLogin类里.1.要么用普通对象变量, CFileTrans m_fileTrans;
    2. 如果用指针一定要动态生成对象.
         CFileTrans* m_pfileTrans;      m_pfileTrans = new CFileTrans;
         否则就是一个空的指针