qicosmos / rest_rpc

modern C++(C++11), simple, easy to use rpc framework
MIT License
1.66k stars 365 forks source link

能否在类或结构体外使用MSGPACK_DEFINE #11

Closed RubikZero closed 4 years ago

RubikZero commented 4 years ago

例如,include的头文件中有需要传输的结构体,但是不希望修改头文件加入MSGPACK_DEFINE

qicosmos commented 4 years ago

你可以再建一个头文件,建一个一摸一样的结构体,传这个结构体,避免修改原有文件,需要一点适配的代码。

RubikZero commented 4 years ago

你可以再建一个头文件,建一个一摸一样的结构体,传这个结构体,避免修改原有文件,需要一点适配的代码。

感谢回复,这一点我也想到了,只是希望有更好的方法,如果可以的话希望能加入结构体外的定义宏,比如MSGPACK_DEFINE(MyStruct,MyStruct.a,MyStruct.b)这样

qicosmos commented 4 years ago

目前暂时没有更好的办法。

RubikZero commented 4 years ago

目前暂时没有更好的办法。

现在我的方法是继承原有的结构体,然后加入MSGPACK_DEFINE。但是遇到枚举就会出现错误 C2228 “.msgpack_unpack”的左边必须有类/结构/联合 的问题

qicosmos commented 4 years ago

可以强转为int,也可以用msgpack的add enum