У меня есть объект 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