exponenta event banner

MISRA C++: 2008 Правило 2-10-6

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

Описание

Определение правила

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

Объяснение

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

Внедрение Polyspace

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

Средство поиска ошибок и средство проверки кода проверяют это правило кодирования по-разному. Анализ может дать различные результаты.

Поиск неисправностей

Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.

Примеры

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

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

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

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

Группа: Лексические конвенции
Категория: Обязательно
Представлен в R2013b