컴파일러 경고(수준 1) C4717Compiler Warning (level 1) C4717

' function ': 모든 제어 경로에서 재귀적 이므로 함수는 런타임 스택 오버플로를 발생 시킵니다.'function' : recursive on all control paths, function will cause runtime stack overflow

함수를 통한 모든 경로에는 함수에 대 한 호출이 포함 됩니다.Every path through a function contains a call to the function. 먼저 자신을 재귀적으로 호출 하지 않고 함수를 종료할 방법이 없으므로 함수는 종료 되지 않습니다.Since there is no way to exit the function without first calling itself recursively, the function will never exit.

다음 샘플에서는 C4717를 생성 합니다.The following sample generates 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);
}