Рассмотрите и зафиксируйте функцию не возвращение чеков значения

Выполните один или несколько из этих шагов, пока вы не определите фиксацию для проверки Function not returning value. Для описания проверки и примеров кода, смотрите Function not returning value.

Для общего рабочего процесса, который применяется ко всем проверкам, смотрите, Интерпретируют Результаты Polyspace Code Prover.

Шаг 1: интерпретируйте информацию о проверке

Выберите проверку на панели Results List. Панель Result Details отображает дополнительную информацию о проверке.

Вы видите:

  • Мгновенная причина проверки.

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

  • Вероятная первопричина проверки, если обозначено.

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

Шаг 2: определите первопричину проверки

Определите, почему оператор return не существует на определенных путях к выполнению.

  1. Просмотрите тело функции операторы return.

  2. Если вы находите оператор return:

    1. Смотрите, происходит ли оператор return в блоке в функции.

      Например, оператор return происходит в блоке if. Путь к выполнению, который не вводит блок if, обходит оператор return.

    2. Смотрите, можно ли идентифицировать пути к выполнению, которые обходят оператор return.

      Например, блок if, который содержит оператор return, обойден для определенных входных параметров функции.

    3. Если функция вызвана многократно в вашем коде, можно идентифицировать который вызов функции, ведомый к обходу оператора return. Используйте Контекст Чувствительности опции, чтобы определить цвет проверки для каждого вызова функции.

Возможная фиксация: Если тип возврата функции является неправильным, измените его. В противном случае добавьте оператор return на всех путях к выполнению. Например, если только часть ответвлений условия if-else if-else имеет оператор return, добавьте оператор return в остающихся ответвлениях. Также добавьте оператор return вне условия if-else if-else.