Идентификатор, объявленный во внутренней области, не должен скрывать идентификатор, объявленный во внешней области
Идентификатор, объявленный во внутренней области, не должен скрывать идентификатор, объявленный во внешней области.
Если два идентификатора имеют одно и то же имя, но разную область, идентификатор во внутренней области скрывает идентификатор во внешней области. Все виды использования имени идентификатора относятся к идентификатору во внутренней области. Такое поведение вынуждает разработчика отслеживать область и снижает читаемость кода.
Polyspace ® считает два имени различными, если имеется разница между их первыми 63 символами. В C90 разница должна иметь место между первыми 31 символами. Для проверки правил C90 используйте значениеc90 для опции C standard version (-c-version). Количество сравниваемых символов можно изменить с помощью опции -code-behavior-specifications. Посмотрите -code-behavior-specifications.
Если скрытый идентификатор объявлен в заголовке стандартной библиотеки и заголовок для анализа не указан, проблема не отображается. Чтобы увидеть возможные конфликты с идентификаторами, объявленными в заголовке стандартной библиотеки, предоставьте компилятору реализацию заголовков для анализа Polyspace. См. раздел Предоставление стандартных заголовков библиотек для анализа полиспейсов.
Переменная XX скрывает переменную XX (FILE LINE LINE COLUMN).
Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.
| Группа: идентификаторы |
| Категория: Обязательно |
| СМЖЛ Категория: Консультативные услуги |