( egmont | 2024. 03. 15., p – 12:03 )

#define NUM 42
#define CAT3(a, b, c) a ## b ## c
#define __xyz_def(num, what) CAT3(XYZ_, num, what)
#define XYZ_WHAT __xyz_def(NUM, WHAT)

Na, csak meglett. Halványan derengett, hogy valami dupla ugrás kell. Nehéz volt ráguglizni. Az __xyz_def-ben még nem tudsz összefűzni, innen ugrani kell egy másik makróra és ott már igen. Ne kérdezd, nem értem :)

Ízlés szerint az XYZ_-t hardcode-olhatod a CAT3-ba, neki nem kell a dupla ugrás, a NUM-nak kell.