| 
A loop is intended to express repetition. If it is not possible to perform a loop's body more than once, then no repetition is possible.
Look at the following example, which uses a predicate p that is presumably defined elsewhere.
  bool example(const int n)
  {
    int k = 1;
    while(k <= n)
    {
      if(p(k))
      {
        return true;
      }
      else
      {
        return false;
      }
    }
  }
      Notice that the loop body returns no matter what.
      Since a return-statement ends the function call, 
      it is not possible to do the body more than once.
      The standards
      forbid that sort of loop body.
    
    
    
    
              
  |