Export (0) Print
Expand All
Expand Minimize

Compiler Warning (level 1) C4717

'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.

The following code demonstrates how this warning would be generated:

// C4717.cpp
// compile with: /W1
// 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);
}
Show:
© 2014 Microsoft