exponenta event banner

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

Название класса, объединения или перечисления (включая квалификацию, если она имеется) должно быть уникальным идентификатором

Описание

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

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

Объяснение

Правило помечает объявления идентификаторов, в которых имя идентификатора совпадает с ранее объявленным именем класса, объединения или typedef. При использовании идентичных идентификаторов их можно спутать.

Внедрение Polyspace

Средство проверки не помечает ситуации, когда конфликтующие имена находятся в разных пространствах имен.

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

Дополнительное сообщение в отчете

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

Идентификатор tagName не следует использовать повторно.

Уже используется в качестве имени тега (fileName lineNumber).

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

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

Примеры

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

void f1() {
    class floatVar {};
}

void f2() {
    float floatVar; //Noncompliant
}

В этом примере объявление floatVar в f2() конфликтует с объявлением класса в f1().

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

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