gpt4 book ai didi

c++ - msgpack:将类打包到成员函数中

转载 作者:行者123 更新时间:2023-11-28 07:50:45 36 4
gpt4 key购买 nike

我对“msgpack”还很陌生。我正在尝试打包用户定义的类:

MyClass::Pack()
{
msgpack::sbuffer sbuf;
msgpack::pack(sbuf, this);
}

但是编译器(VC 9.0)告诉我

error C2228: left of '.msgpack_pack' must have class/struct/union third_party\msgpack\include\msgpack\object.hpp 218

我找到的唯一方法:

MyClass::Pack()
{
MyClass copy(this);
msgpack::sbuffer sbuf;
msgpack::pack(sbuf, copy);
}

但是如果我不想制作拷贝怎么办(例如,这是繁重的操作或需要很多额外的资源)?我可以在没有复制 ctor 的情况下执行此操作吗?谢谢。

最佳答案

调用 msgpack::pack(sbuf, this); 可以是 msgpack::pack(sbuf, *this); 来获取一个对象( this 只是一个指针)...而且我不确定 MyClass copy(this); 是否调用了正确的复制构造函数...也许我错了,我做到了还没有使用 msgpack,我只看到 C++ :(

关于c++ - msgpack:将类打包到成员函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13841809/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com