Идентификаторы, объявленные во внутреннем осциллографе, не должны скрывать идентификатор, объявленный во внешнем осциллографе
Примечание
Используйте Bug Finder вместо Code Prover для проверки правил кодирования. Поддержка кодирования правил, регистрируясь в Code Prover будет удалена в будущем релизе. См. Вопросы совместимости.
Идентификаторы, объявленные во внутреннем осциллографе, не должны скрывать идентификатор, объявленный во внешнем осциллографе.
Правило отмечает ситуации, где то же имя идентификатора используется в двух объявлениях переменной, один во внешнем осциллографе и другом во внутреннем осциллографе.
int var; ... { ... int var; ... }
Все использование имени во внутреннем осциллографе относится к переменной, объявленной во внутреннем осциллографе. Однако разработчик или рецензент кода могут неправильно принять, что использование относится к переменной, объявленной во внешнем осциллографе.
Средство проверки правила отмечает все случаи переменного затенения включая когда:
То же имя идентификатора используется во внешнем и внутреннем именованном пространстве имен.
То же имя используется для элемента данных класса и переменной вне класса.
То же имя используется для метода в основе и производном классе.
Чтобы исключить эти случаи, переключите на более современный стандартный AUTOSAR C++ 14 и проверяйте на правило AUTOSAR C++14 Rule A2-10-1
.
Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.
Группа: лексические соглашения |
Категория: необходимый |