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