> Because it's the only way to guarantee that x exits when you > reach the end of the loop. > > do { > if(true) continue; //Yawn... skip. > const x = ... ; > } while (predicate(x)); //What's x? But the compiler could tell that there is a 'continue' before x was declared, and issue an error when it is used in while(...)