exponenta event banner

Неизвестная ошибка прототипа функции

Проблема

На этапе компиляции программа выводит предупреждение или сообщение об ошибке о неизвестном прототипе функции.

the prototype for function 'myfunc' is unknown
Сообщение указывает, что Polyspace ® не может найти прототип функции. Поэтому он не может идентифицировать типы данных аргумента функции и возвращаемого значения и должен выводить их из вызовов функции.

Для определения типов данных для таких функций Polyspace следует стандарту C99 (ISO/IEC 9899:1999, глава 6.5.2.2: Вызовы функций).

  • Предполагается, что возвращаемый тип int.

  • Количество и тип аргументов определяются первым вызовом функции. Например, если функция принимает один double аргумент в первом вызове, для последующих вызовов, программное обеспечение предполагает, что он занимает один double аргумент. Если вы передаете int аргумент в последующем вызове, преобразование из int кому double имеет место.

Во время фазы связывания, если происходит несоответствие между числом или типом аргументов или возвращаемым типом в различных единицах компиляции, анализ следует внутреннему алгоритму, чтобы устранить это несоответствие и определить общий прототип.

Причина

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

Если вы #include-d файл включения в исходный код, но не был добавлен в проект Polyspace, отображается предыдущее предупреждение:

Warning: could not find include file "my_include.h"

Решение

Выполните поиск объявления функции в исходном репозитории.

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