Why can't variables be declared in a switch statement?

后端 未结 23 3034
一生所求
一生所求 2020-11-21 05:15

I\'ve always wondered this - why can\'t you declare variables after a case label in a switch statement? In C++ you can declare variables pretty much anywhere (and declaring

23条回答
  •  南方客
    南方客 (楼主)
    2020-11-21 06:06

    The whole switch statement is in the same scope. To get around it, do this:

    switch (val)
    {
        case VAL:
        {
            // This **will** work
            int newVal = 42;
        }
        break;
    
        case ANOTHER_VAL:
          ...
        break;
    }
    

    Note the brackets.

提交回复
热议问题