Здравствуйте, Аноним, Вы писали:
А>дано: А>#define __drv_out(annotes) __post __$drv_group(##__drv_nop(annotes)) А>макрос используется например из етого места А>вопрос: А>что сделает первее pp msvc — раскроет макрос __drv_nop или выполнит склеивание? По стандарту, должно производиться склеивание. Склеивание выдает токен (__drv_nop который является некорректным.
Из примера видно что вы делаете склейку со скобкой, а это не pp token. Результат — UB.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]