Closed bolanbujing closed 1 week ago
这个测试代码不完整吧。
std::shared_ptr y = std::make_shared();
这行代码编译不过的。
把没有编译错误的测试代码发出来。
std::shared_ptr y = std::make_shared();
这行代码是语法错误的,编译都不会通过的。
``
std::shared_ptr y = std::make_shared();
这行代码是语法错误的,编译都不会通过的。 我知道了,这里面写代码必须要加引号,不然识别不了,<int>
这个显示不了
另外struct_pack 只支持了std::unique_ptr 暂时还不支持std::shared_ptr
另外struct_pack 只支持了std::unique_ptr 暂时还不支持std::shared_ptr
c++17怎么没这个问题呢
不支持std::shared_ptr, 你说的没这个问题有测试代码吗?
有,还是同一个测试代码呀,上面的代码,你用c++17,c++20编译就直到了
我写了个小测试:
std::shared_ptr<int> y = std::make_shared<int>(); auto z = struct_pack::serialize< std::vector<uint8_t>>( y);
报错信息是: error: cannot decompose inaccessible member ‘std::shared_ptr<int, __gnu_cxx::_S_atomic>::_M_ptr’ of ‘std::shared_ptr<int, __gnu_cxx::_S_atomic>’ 1212 | auto &&[a1, a2] = object; | ^
~~~我们的业务需要序列化
std::shared_ptr<vector<std::shared_ptr<int>>>