Функции не должны вызывать себя, прямо или косвенно
Функции не должны вызывать себя, прямо или косвенно.
Переменные, локальные к функции, хранятся в стеке вызовов. Если функция вызывает себя прямо или косвенно несколько раз, доступное пространство стека может быть превышено, вызывая серьезный отказ. Если рекурсия не контролируется жестко, трудно определить максимальное требуемое пространство стека.
Чекер сообщает о каждой функции, которая вызывает себя, прямо или косвенно. Даже если несколько функций участвуют в одном цикле рекурсии, каждая функция сообщается индивидуально.
Общее количество циклов рекурсии можно вычислить с помощью метрики сложности кода Number of Recursions
.
Сообщение в отчете: функция XX вызывается косвенно YY.
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
Группа: Функция |
Категория: Требуемая |
Категория AGC: Требуется |