c – 指针矢量. BOOST序列化
我想使用BOOST序列化/反序列化以下向量中对象的值(而不是指针):
std :: vector <A*> m_vector;
要序列化我使用以下代码:
int nItems = m_vector.size();
ar & nItems;
std::for_each(m_vector.begin(), m_vector.end(), [&ar](A* pItem) {
ar & *pItem;
});
并反序列化:
int nItems;
ar & nItems;
for (int i = 0; i < nItems; ++i) {
A* pItem;
ar & *pItem; ///////////// Run-Time Check Failure #3
m_vector.push_back(pItem);
}
但是当我运行程序时,我收到以下错误:
Run-Time Check Failure # 3 - The variable 'pItem' is Being Used without Being initialized.
我究竟做错了什么?
谢谢.