提升预处理器库

时间:2013-04-29 20:52:09

标签: c++ boost boost-preprocessor

我在扩展到基值

时遇到了一些麻烦
# include <boost/preprocessor/cat.hpp>

#define REL_ITERATION_1 1
#define REL_FRAME_ITERATION(i) BOOST_PP_CAT(REL_ITERATION_, i)
#define REL_ITERATION_PARAMS_2 REL_FRAME_ITERATION(1)
#define REL_FRAME1(i)           BOOST_PP_CAT(REL_ITERATION_PARAMS_, i)
#define REL_FRAME2(i)           REL_ITERATION_PARAMS_##i
REL_FRAME1(2)
REL_FRAME2(2)

这是输出。

BOOST_PP_CAT(REL_ITERATION_, 1)
1

有没有人知道为什么第一个电话与第二个电话不一样?我以为我已经掌握了使用预处理器的方法,但我只是不明白这一点。 :(

1 个答案:

答案 0 :(得分:0)

没关系。我错过了文档中的部分,如果它扩展为BOOST_PP_CAT()宏,它将不会扩展它。

卫生署!