Well. One more thing to add:
I think that
void foo()
{
int x;
{
int x;
}
}
Mustn't be a scoping error. This is a very powerful feature. It helps to avoid the
names like int x2 or another_x. It makes naming easy. And it is widely used in
select/case blocks.
Regards, Aleksey.