MISRA C++:2008 Rule 3-2-2

Одно Правило Определения не должно быть нарушено

Описание

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

Одно Правило Определения не должно быть нарушено.

Объяснение

Нарушения Одного Правила Определения приводят к неопределенному поведению.

Реализация Polyspace

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

Обменивайтесь сообщениями в отчете

Одно Правило Определения не должно быть нарушено.

Объявление класса className нарушает Одно Правило Определения:

это конфликтует с другим объявлением (fileName lineNumber).

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

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

Примеры

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

Этот пример использует два файла:

  • file1.cpp:

    struct S 
    {
       int x;
       int y;
    }; 
  • file2.cpp:

    struct S 
    {
       int y;
       int x;
    }; 

В этом примере, обоих file1.cpp и file2.cpp задайте структуру S. Однако определения переключают порядок полей структуры.

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

Группа: фундаментальные понятия
Категория: необходимый

Введенный в R2013b