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

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