共用方式為


編譯器警告 (層級 1) C4717

'function' :在所有控制路徑上遞歸,函式會導致運行時間堆棧溢出

透過函式的每個路徑都包含對函式的呼叫。 由於沒有方法可以結束函式,而不需要先以遞歸方式呼叫自己,所以函式永遠不會結束。

下列範例會產生 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);
}