C ++预处理器分号

时间:2017-12-21 16:43:41

标签: c++

我想编写像MAKE var=NUMBER: 21这样的代码,可以将其翻译成  auto var=21;

我定义了以下宏:#define MAKE auto#define NUMBER (1==0)?,但它们效果不佳。

简单来说,我想自动在定义的末尾添加分号。

感谢。

1 个答案:

答案 0 :(得分:2)

使用C ++宏语法无法实现。你只有21之前的宏,而不是之后。虽然如果稍微改变语法,你可以实现这一点:

MAKE var=NUMBER(21)

而不是

MAKE var=NUMBER: 21

并将NUMBER定义为:

#define NUMBER(x) (x);