Udostępnij za pomocą


Ostrzeżenie kompilatora (poziom 1) C4717

"function" : rekursywne we wszystkich ścieżkach sterowania, funkcja spowoduje przepełnienie stosu środowiska uruchomieniowego

Uwagi

Każda ścieżka przez funkcję zawiera wywołanie funkcji. Ponieważ nie ma możliwości wyjścia z funkcji bez uprzedniego wywoływania się rekursywnie, funkcja nigdy nie zostanie zakończona.

Example

Poniższy przykład generuje 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);
}