我有一个空结构:
struct MyStruct {};
我想让它适应Boost Fusion使用。通常我会使用BOOST_FUSION_ADAPT_STRUCT
,但是这个宏需要两个参数来命名结构并列出其字段。反正有没有告诉宏这些字段是不存在的?
动机:我正在使用Boost Spirit来定义解析器。该结构用于boost::variant
,然后传递给boost::apply_visitor()
。鉴于boost::fusion::for_each()
处理,变体中的其他一些项目。
答案 0 :(得分:3)
我尝试传递/**/
作为第二个参数,并为我编译(g ++ - 4.6.2)。
BOOST_FUSION_ADAPT_STRUCT(MyStruct, /**/);
答案 1 :(得分:0)
尝试传递BOOST_PP_EMPTY
。不能保证它会起作用,但考虑到实施它似乎很可能。