【发布时间】:2026-01-28 12:00:01
【问题描述】:
我有一个shared_ptr对象x,它有如下get和set方法:
x->a_value();
x->set_a_value();
x->b_value();
x->set_b_value();
当我尝试定义宏时:
#define MAC(type) \
x->set_##type##_value(val);
MAC(a)
它工作正常,但是当我这样做时:
#define MAC(type) \
x->##type##_value();
MAC(a)
它给出以下编译错误:
pasting formed '->a', an invalid preprocessing token
【问题讨论】: