在编程中遇到access violation的错误,发生在
  CRuntimeClass* pClassRef = pOb->GetRuntimeClass(); 类序列化代码,如下:
  void CSlot::Serialize(CArchive& ar)
{
CObject::Serialize(ar); if (ar.IsStoring())
{
ar << m_pPropertySlot;
          }
else
{
ar >> m_pPropertySlot; }
}
 m_pPropertySlot是该类的指针类型的成员数据,请问为什么它在序列化过程中会出现access violation错误?谢谢

解决方案 »

  1.   

    m_pPropertySlot是指针不可以
    通过序列化输入吧,,
      

  2.   

    >>  操作符 自己重载
      

  3.   

    再类里面有没有DECLARE_SERIAL(classname)在外面有没有IMPLEMENT_SERIAL(classname,basename,n)???
      

  4.   

    DECLARE_SERIAL(classname)
     IMPLEMENT_SERIAL(classname,basename,n)
     这两句已写
     但同样是序列化指针成员,其他的类都是好的,就这个类不行