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