Выполните один или несколько из этих шагов, пока вы не определите фиксацию для проверки 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
условие.