给出以下定义:
#define foo bar
#define bar 2
#define reg_bar 4
我正在尝试创建一个给定define foo的宏,找到define reg_bar,4的值。
我尝试过:
#define foo_bar(value) reg_##value
foo_bar(foo)
但是它不起作用,因为它返回reg_foo。
还有这个
#define foo_bar(value) reg_##value
#define foo_bar_2(value) foo_bar(value)
foo_bar_2(foo)
但是它仍然无法正常工作,因为它返回reg_2
无论如何,仅使用宏和预处理器吗?
感谢您的帮助:)
可悲的是,没有。没有“中间值”之类的东西。令牌序列是否扩展? ##
抑制扩展,但是没有什么抑制扩展的“一部分”。