我对“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);
}
但是,如果我不想制作副本(例如,操作繁重或需要许多额外资源)怎么办?我可以在没有复印机的情况下做到这一点吗?谢谢。