Мой вопрос является обратным этому вопросу .
Я хочу написать макрос, который будет принимать целое число и строковый литерал в качестве аргументов, например:
#define STRING_MAP_ENTRY(value, name) \
{value, std::to_string(val) + " - " + name}
STRING_MAP_ENTRY(0, "ENTRY_1")
Макрос должен превратить вышеуказанный вызов в {0, "0 - ENTRY_1"}
Есть ли способ сделать это? Моя текущая попытка такова:
#define STRING_MAP_ENTRY(val, name) \
{ val, std::to_string(val) + "(" + name + ")" }