boost序列化字符串流错误
boost serialization stringstream error
所以。。。
每当我运行以下内容时:
#inlcude <iostream>
#include <sstream>
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
using namespace std;
class gps_position
{
private:
friend class boost::serialization::access;
template<class Archive>
void serialize(Archive & ar, const unsigned int version)
{
ar & degrees;
ar & minutes;
ar & seconds;
}
int degrees;
int minutes;
float seconds;
public:
gps_position(){};
gps_position(int d, int m, float s) :
degrees(d), minutes(m), seconds(s)
{}
};
int main() {
stringstream ss1;
const gps_position g(35, 59, 24.567f);
{
boost::archive::text_oarchive oa(ss1);
oa << g;
}
gps_position newg;
{
stringstream ss2;
boost::archive::text_iarchive ia(ss2);
ia >> newg;
}
return 0;
}
我得到以下错误:
terminate called after throwing an instance of 'boost::archive::archive_exception'
what(): output stream error
Aborted
所以。。。这让我很困惑…任何帮助都会很棒!
谢谢!
在main
中填充ss1
,然后创建一个名为ss2
的新std::stringstream
,并尝试从中读取。你认为这是怎么回事?很明显,ss2
不包含任何数据。
相关文章:
- 由cin中的字符串中未捕获空白引起的分割错误
- 将 GetLastError() 转换为带有错误字符串的异常
- Rapidjson 解析错误:字符串 (207) 中的编码无效
- 尝试对字符串[数组]>>cin 并出现错误(" "字符串下标超出范围")
- 如何检索 DirectX 9 的错误字符串
- 从 C++ => C 包装的 API(多线程)传输错误字符串
- 错误字符串下标超出c++范围
- 获取Openssl证书错误中的错误字符串
- 作为宏参数的安装类型返回错误:字符串常量之前的预期非限定 id
- 语法错误字符串方法C++
- 对于静态错误字符串,哪个的内存/性能效率更高,或者有替代方案
- 使用 strtok() 的错误字符串比较
- C++ 中的运行时错误字符串声明
- 我收到错误:字符串声明上的 C2501
- GCC:为什么一行代码中的错误(字符串和NULL的比较)会导致一长串错误消息
- 错误C2059:语法错误:'字符串'
- 致命错误:字符串:没有这样的文件或目录编译终止
- C++错误:字符串下标超出范围
- 这里面有什么错误?字符串赋值
- 是否有标准的方法来查询EGL错误字符串