コンパイラの警告 (レベル 1) C4717 (C++)

ビューの切り替え:
スクリプトなし
Visual C++ の概念 : C/C++ プログラムのビルド
コンパイラの警告 (レベル 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);
}