Выполните один или несколько из этих шагов, пока вы не определите фиксацию для проверки Function not returning value. Для описания проверки и примеров кода, смотрите Function not returning value
.
Для общего рабочего процесса, который применяется ко всем проверкам, смотрите, Интерпретируют Результаты Polyspace Code Prover.
Выберите проверку на панели Results List. Панель Result Details отображает дополнительную информацию о проверке.
Вы видите:
Мгновенная причина проверки.
В этом примере программное обеспечение идентифицировало, что функция с non-void
возвращается, тип не может иметь оператора return
.
Вероятная первопричина проверки, если обозначено.
В этом примере программное обеспечение идентифицировало, что проверка возможно связана с путем. Больше чем один вызов функции существует, и проверка является зеленой по крайней мере на одном вызове.
Определите, почему оператор return
не существует на определенных путях к выполнению.
Просмотрите тело функции операторы return
.
Если вы находите оператор return
:
Смотрите, происходит ли оператор return
в блоке в функции.
Например, оператор return
происходит в блоке if
. Путь к выполнению, который не вводит блок if
, обходит оператор return
.
Смотрите, можно ли идентифицировать пути к выполнению, которые обходят оператор return
.
Например, блок if
, который содержит оператор return
, обойден для определенных входных параметров функции.
Если функция вызвана многократно в вашем коде, можно идентифицировать который вызов функции, ведомый к обходу оператора return
. Используйте Контекст Чувствительности опции, чтобы определить цвет проверки для каждого вызова функции.
Возможная фиксация: Если тип возврата функции является неправильным, измените его. В противном случае добавьте оператор return
на всех путях к выполнению. Например, если только часть ответвлений условия if-else if-else
имеет оператор return
, добавьте оператор return
в остающихся ответвлениях. Также добавьте оператор return
вне условия if-else if-else
.