Если # лексема появится как первая лексема на линии, то это должно сразу сопровождаться лексемой предварительной обработки
Если # лексема появится как первая лексема на линии, то это должно сразу сопровождаться лексемой предварительной обработки.
# символ предшествует директиве препроцессору, когда это - первый символ на линии. Если # символ сразу не сопровождается директивой препроцессору, директива препроцессору может быть уродливой.
Директивы препроцессору могут использоваться, чтобы исключить фрагменты кода от компиляции. Компилятор исключает код, пока это не сталкивается с #else, #elif, или #endif директива препроцессору. Если одна из тех директив препроцессору уродлива, компилятор продолжается, исключая код вне намеченной конечной точки, приводящей к ошибкам и неожиданному поведению, которое может затруднить, чтобы диагностировать.
Избегайте уродливых директив препроцессору путем размещения лексемы препроцессора непосредственно после # лексемы. А именно, не помещайте символы кроме пробела между # лексемой и лексемой препроцессора в #else и #endif директивах.
Polyspace® повышения этот дефект, когда # символ сопровождается любым символом, который не является частью правильно сформированной лексемы препроцессора. Лексема препроцессора, которой предшествует или сопровождает любой символ кроме пробела, заставляет Polyspace повышать этот дефект. Polyspace повышает этот дефект, когда лексема препроцессора плохо формируется из-за орфографической ошибки или неподходящей капитализации.
Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.
Группа: предварительная обработка директив |
Категория: необходимый |