我从 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
)确实包含此宏定义。
编辑:宏是可怕的。:( 看看第一个答案。