1
Предположим, что мы проходим следующее препроцессора gcc
«s:Вызов многофункционального макроса без круглых скобок?
#define REM(...) __VA_ARGS__
#define PAIR(x) REM x
PAIR((a)b)
Он расширяет PAIR((a)b)
в a b
. Как это произошло? Я смущен о REM
используется без скобок и x
не вторит как ...
После замены 'PAIR ((a) b)' 'с помощью REM (a) b' препроцессор возвращается к началу замененного текста и выполняет его пересканирование в виде последовательности токенов. Довольно очевидно. –