cpx*_*cpx 2 c++ serialization boost
我在序列化一个char*字符串时遇到错误error C2228: left of '.serialize' must have class/struct/union我可以使用std :: string然后从中获取一个const char*.但我需要char*字符串.
错误信息说明了这一点,在序列化指向原始类型的指针的boost序列化中没有任何支持.
您可以在商店代码中执行以下操作:
int len = strlen(string) + 1;
ar & len;
ar & boost::serialization::make_binary_object(string, len);
Run Code Online (Sandbox Code Playgroud)
并在加载代码中:
int len;
ar & len;
string = new char[len]; //Don't forget to deallocate the old string
ar & boost::serialization::make_binary_object(string, len);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3152 次 |
| 最近记录: |