Совместимое объявление должно быть видимо, когда объект или функция с внешней связью будут заданы
Совместимое объявление должно быть видимо, когда объект или функция с внешней связью будут заданы.
Если объявление видимо, когда объект или функция заданы, это позволяет компилятору проверять, что объявление и определение совместимы.
Это правило с MISRA C:2012 Rule 8.5 осуществляет практику объявления объекта (или функция) в заголовочном файле и включая заголовочный файл в исходных файлах, которые задают или используют объект (или функция).
Средство проверки правила обнаруживает ситуации где:
Объект или функция заданы без предыдущего объявления.
Существует неверный тип данных между объектным или объявлением функции и определением. Такое несоответствие также вызывает ошибку компиляции.
Глобальное определение переменной variable_name не имеет никакого предыдущего объявления.
Функциональный function_name не имеет никакого видимого совместимого прототипа в определении.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
| Группа: объявления и определения |
| Категория: необходимый |
| Категория AGC: консультация |
| Язык: C90, C99 |
MISRA C:2012 Rule 17.3 | MISRA C:2012 Rule 8.2 | MISRA C:2012 Rule 8.3 | MISRA C:2012 Rule 8.5