MISRA C++:2008 Rule 2-10-6

Если идентификатор будет относиться к типу, он не должен также относиться к объекту или функции в том же осциллографе

Описание

Управляйте определением

Если идентификатор будет относиться к типу, он не должен также относиться к объекту или функции в том же осциллографе.

Объяснение

Для совместимости с C, на C++, вам разрешают использовать то же имя для типа и объекта или функции. Однако повторное использование имени может вызвать беспорядок во время разработки или рассмотрения кода.

Реализация Polyspace

Если идентификатор является функцией, и функция и объявлена и задана, то о нарушении сообщают только однажды.

Bug Finder и Программа автоматического доказательства Кода проверяют это правило кодирования по-другому. Исследования могут привести к различным результатам.

Поиск и устранение проблем

Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.

Примеры

развернуть все

struct vector{
    int x;
    int y;
    int z;
}vector; //Noncompliant

В этом примере, имя vector используется и для структурированного типа данных и для объекта того типа.

Проверяйте информацию

Группа: лексические соглашения
Категория: необходимый
Введенный в R2013b