Макро-параметр, используемый в качестве операнда к # или ## операторам, который самостоятельно подвергается дальнейшей макро-замене, должен только использоваться в качестве операнда к этим операторам
Макро-параметр, используемый в качестве операнда к # или ## операторам, который самостоятельно подвергается дальнейшей макро-замене, должен только использоваться в качестве операнда к этим операторам.
Параметр к #
или ##
не расширен до того, чтобы быть используемым. Тот же параметр, появляющийся в другом месте в тексте замены, расширен. Если макро-параметр самостоятельно подвергается макро-замене, ее использование в смешанных контекстах в макро-замене не может оправдать надежды разработчика.
Расширенный макро-параметр param1
является также операндом оператора op
.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: предварительная обработка директив |
Категория: необходимый |
Категория AGC: необходимый |
Язык: C90, C99 |