Compiler Error C2361

initialization of 'identifier' is skipped by 'default' label

The specified identifier initialization can be skipped in a switch statement.

It is illegal to jump past a declaration with an initializer unless the declaration is enclosed in a block.

The scope of the initialized variable lasts until the end of the switch statement unless it is declared in an enclosed block within the switch statement.

The following is an example of this error:

void func( void )
{
   int x;
   switch (x)
   {
   case 0 :
      int i = 1;       // error, skipped by default  
      { int j = 1; }   // OK, initialized in enclosing block
   default :
      int k = 1;       // OK, initialization not skipped
   }
}