【发布时间】:2017-12-13 09:48:29
【问题描述】:
有人知道如何序列化谷物、C++ 库上的多维数组吗?
我通过如下所示的源代码进行了测试。 但是,它抱怨
“错误C2338:谷物不支持序列化 原始指针 - 请使用智能指针"
如代码所示,智能指针“shared_ptr”已被使用。
错在哪里?
const int square_size = 3;
int** a = new int*[square_size];
for (int i = 0; i < square_size; i++) {
a[i] = new int[square_size];
}
std::shared_ptr<int*> sp(a, [](int** a) {for (int i = 0;i < square_size;i++) { delete a[i]; }});
std::ofstream ofs("output.cereal", std::ios::binary);
cereal::BinaryOutputArchive archive(ofs);
archive(sp);
【问题讨论】:
-
shared_ptr应该在创建a的同时创建。
标签: c++ visual-studio c++11 multidimensional-array cereal