我开始使用boost hana,我在编写基本程序时遇到了这个编译问题:
#include <boost/hana/define_struct.hpp>
namespace hana = boost::hana;
struct Foo
{
BOOST_HANA_DEFINE_STRUCT(Foo,
(int, var1_),
(double, var2),
);
};
我正在使用最新的gcc编译器(6.1),我得到的编译错误是
boost/hana/detail/struct_macros.hpp:2462:103: error:
‘BOOST_HANA_PP_DROP_BACK’ does not name a type
这很奇怪,因为当我查看标题时,boost/hana/detail/preprocessor.hpp
(上面的struct_macros.hpp
包含的文件)确实包含了这个宏定义。
答案 0 :(得分:3)
应该是:
struct Foo
{
BOOST_HANA_DEFINE_STRUCT(Foo,
(int, var1_),
(double, var2) // no comma
);
};