我目前正在开发一个项目,我正在以相同的顺序反复使用相同的宏来进行类的序列化。我使用Boost宏进行序列化。 即:
BOOST_CLASS_EXPORT(SameClass)
BOOST_SERIALIZATION_FACTORY_0(SameClass)
如何将这两者合并为一个宏。
#define registrateDMP(arg) BOOST_CLASS_EXPORT(arg) BOOST_SERIALIZATION_FACTORY_0(arg)
不起作用。此外,我想在完整宏中添加第三个宏,如果实际可行的话。
#define DMPTYPE_BASICDMP_GUID boost::serialization::guid<SameClass>()
如果我独立使用这三个宏,我的程序可以正常工作,但由于对宏的调用总是按照相同的顺序进行,并且我将它们用于很多不同的情况,并希望将它们用于更多的情况,这样会很好简化一个宏的命令。有人可以帮忙吗?谢谢
答案 0 :(得分:0)
试试这个:
#define registrateDMP(arg)\
BOOST_CLASS_EXPORT(arg)\
BOOST_SERIALIZATION_FACTORY_0(arg)
或者这个:
#define registrateDMP(arg)\
{{BOOST_CLASS_EXPORT(arg);}\
{BOOST_SERIALIZATION_FACTORY_0(arg);}}