I guess that when the
switch statement executes, it simply doesn't find a
case: to jump to, and skips the entire statement altogether. Note that this is
also true for C (and likely C++ too). The only possible usage I see here is to declare a local variable within the scope of the
switch statement. Note, however, that if you try to immediately assign a value to it (e.g.
int x = 42;), it will
not work - and this is not a bug, since the code is effectively unreachable, but the declaration works because the stack space for local variables is allocated upon entering the block.