Здравствуйте, vsb, Вы писали:
vsb>Здравствуйте, AleksandrN, Вы писали:
AN>>Однажды он напишет что-то вроде
AN>>AN>>#define A 2
AN>>#define B 3
AN>>#define C A + B
AN>>
AN>>и удивится, когда подставит С в выражение с операциями, у которых выше приоритет.
vsb>Скобки в дефайнах учат ставить сразу после того, как учат этим самым дефайнам.
И учат ставить всегда пробелы
#define A(b) 0x123e+(b)
int x = A(1); // error: invalid suffix "+" on integer constant
#define B(b) 0x123e + (b)
int y = B(1); // Работает как ожидается