Несоответствие между typedef заявления
Эта проверка деактивируется в анализе Polyspace ® по умолчанию в качестве кода. См. раздел Шашки, деактивированные в Polyspace как анализ кода по умолчанию (Polyspace Bug Finder Access).
Этот дефект возникает, когда typedef операторы приводят к конфликтованию базовых типов для одного из следующих типов данных:
size_t
ssize_t
wchar_t
ptrdiff_t
При изменении базового типа size_t, ssize_t, wchar_t, или ptrdiff_t, имеются противоречивые определения одного и того же типа. Модули компиляции с различными путями включения могут потенциально использовать типы разного размера, вызывающие конфликты в программе.
Например, укажите функцию в одном модуле компиляции, которая переопределяет size_t как беззнаковый длинный. Но в другом модуле компиляции, который использует size_t определение из <stddef.h>, вы используете ту же функцию, что и extern объявление. Программа столкнется с несоответствием между объявлением функции и определением функции.
Использовать непротиворечивые определения типов. Например:
Удалите пользовательские определения типов для этих фундаментальных типов. Используйте только определения системы.
Используйте одинаковый размер для всех единиц компиляции. Переместите свой typedef в общий заголовочный файл.
| Группа: Программирование |
| Язык: C | C++ |
| По умолчанию: Вкл. |
Синтаксис командной строки: TYPEDEF_MISMATCH |
| Воздействие: Высокое |