Сегодня я наткнулся на код C++, который содержит такое предложение #ifdef:
#ifdef DISABLE_UNTIL OTHER_CODE_IS_READY
foo();
#endif
Обратите внимание на пробел между «DISABLE_UNTIL» и «OTHER_CODE_IS_READY». По сути, в строке #ifdef указаны два токена.
Мой вопрос в том, является ли этот код легальным C++? (g++ компилирует его без ошибок и, по-видимому, просто игнорирует второй токен). И если это законно, должен ли второй токен иметь какое-либо действие?
[C++11: 1.4/2]
). Я всегда думал о диагностике как об обязательном включении стандартных правил по умолчанию, тогда как на самом деле верно как раз обратное. Спасибо. 13.10.2013