Re: нестандартное поведение препроцессора msvc
От: Vain Россия google.ru
Дата: 23.01.11 13:22
Оценка:
Здравствуйте, Аноним, Вы писали:

А>дано:

А>#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.]
[Даю очевидные ответы на риторические вопросы]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.