Поделиться через


Предупреждение компилятора (уровень 1) C4717

"function" : рекурсивный для всех путей управления, функция приведет к переполнению стека среды выполнения

Замечания

Каждый путь через функцию содержит вызов функции. Так как нет способа выйти из функции без первого вызова себя рекурсивно, функция никогда не выйдет.

Example

Следующий пример приводит к возникновению ошибки C4717:

// C4717.cpp
// compile with: /W1 /c
// C4717 expected
int func(int x) {
   if (x > 1)
      return func(x - 1); // recursive call
   else {
      int y = func(0) + 1; // recursive call
      return y;
   }
}

int main(){
   func(1);
}