Не сочетайтесь между объявлениями функции или объявлениями переменной
Это средство проверки деактивировано в Polyspace по умолчанию® как Вы Анализ кода. Смотрите Средства проверки, Деактивированные в Polyspace, когда Вы Кодируете Анализ По умолчанию.
Этот дефект происходит, когда объявление функции или объявление переменной не совпадают с другими экземплярами функции или переменной.
Когда несоответствие находится между двумя объявлениями переменной в различных единицах компиляции, типичный компоновщик следует алгоритму, чтобы выбрать одно объявление для переменной. Если вы ожидаете объявление переменной, которое отличается от один выбранный компоновщиком, вы видите неожиданные результаты, когда переменная используется.
Подобная проблема может произойти с несоответствием в объявлениях функции.
Фиксация зависит от типа несоответствия объявления. Если оба объявления действительно относятся к тому же объекту, используйте то же объявление. Если объявления относятся к различным объектам, изменяют названия той из переменных. Если вы меняете имя переменной, не забудьте вносить изменение во всех местах, которые используют переменную.
Иногда, несоответствия объявления могут произойти, потому что объявления затронуты предыдущими директивами предварительной обработки. Например, объявление происходит в макросе, и макрос задан на одном пути к включению, но неопределенный в другом. Эти несоответствия объявления могут быть хитрыми, чтобы отладить. Идентифицируйте расхождение между двумя путями к включению и зафиксируйте конфликтные макроопределения.
Если вы не хотите устранять проблему, добавьте комментарии в свой результат или код, чтобы избежать другого анализа. См.:
Обратитесь к Результатам Polyspace Через Исправления ошибок или Выравнивания, если вы рассматриваете результаты в пользовательском интерфейсе Polyspace.
Обратитесь к Результатам в Polyspace доступ Через Исправления ошибок или Выравнивания, если вы рассматриваете результаты в веб-браузере.
Аннотируйте Код и Скройте Известные или Приемлемые результаты, если вы рассматриваете результаты в IDE.
Группа: Программирование |
Язык: C | C++ |
Значение по умолчанию: On |
Синтаксис командной строки: DECL_MISMATCH |
Удар: высоко |
ID CWE: 685, 686 |
Ignore pragma pack directives (-ignore-pragma-pack)
| Find defects (-checkers)