首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CArchive序列化与运算符<< >> no操作符找到,它采用cArchive类型的左侧。

CArchive序列化与运算符<< >> no操作符找到,它采用cArchive类型的左侧。
EN

Stack Overflow用户
提问于 2013-11-26 01:54:54
回答 2查看 540关注 0票数 0

在本教程之后,http://msdn.microsoft.com/en-us/library/vstudio/3bfsbt0t.aspx实现了以下代码:

代码语言:javascript
复制
class Esame: public CObject
{

public:

INT voto;
INT crediti;
BOOL lode;
CString nome;
Esame(){}
Esame(CString nome, INT voto, BOOL lode, INT crediti) :nome(nome), voto(voto), lode    (lode), crediti(crediti) {}

void Serialize(CArchive& ar);

protected:
DECLARE_SERIAL(Esame)
};

IMPLEMENT_SERIAL(Esame, CObject, 1)

void Esame::Serialize(CArchive& ar){
CObject::Serialize(ar);
if (ar.IsStoring())
{       
    ar << voto << lode << crediti;
}
else
{       
    ar >> voto >> lode >> crediti;
}
}

然后我打电话:

代码语言:javascript
复制
CFile file(_T("file.and"), CFile::modeCreate);
CArchive afr(&file, CArchive::store);
Esame e;
afr << e;

但是我得到了<<运算符,没有找到一个cArchive类型左边的操作符。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-26 07:43:52

这是因为您没有为类operator<<提供过载的Esame。您所链接的文章也没有这样做,所以您可能打算这样做:

代码语言:javascript
复制
CFile file(_T("file.and"), CFile::modeCreate);
CArchive afr(&file, CArchive::store);
Esame e;
e.Serialize(ar);

因此,直接调用Serialize函数,类中的实现使用operator<<序列化所需的基本成员变量,并对其他复杂对象调用Serialize

如本教程所示:

代码语言:javascript
复制
void CCompoundObject::Serialize( CArchive& ar )
{
   CObject::Serialize( ar );    // Always call base class Serialize.
   m_myob.Serialize( ar );    // Call Serialize on embedded member.
   m_pOther->Serialize( ar );    // Call Serialize on objects of known exact type. 

   // Serialize dynamic members and other raw data 
   if ( ar.IsStoring() )
   {
      ar << m_pObDyn;
      // Store other members
   }
   else
   {
      ar >> m_pObDyn; // Polymorphic reconstruction of persistent object  
      //load other members
   }
}
票数 1
EN

Stack Overflow用户

发布于 2014-02-09 11:05:05

代码语言:javascript
复制
afr << &e;

需要指针类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20207157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档