Я пытаюсь заставить макрос работать в моей программе c, чтобы добавить 0x
к литералу HEX следующим образом:
#define BUILD ABCD0000
#define CONCAT(m, n) m ## n
#define HEX(x) CONCAT(0x, x)
const uint32_t Id = HEX (BUILD);
Я получаю эту ошибку компилятора: неверный суффикс "x" на целочисленной константе. Кто-нибудь может помочь?