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

后端 未结 23 2983
一生所求
一生所求 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:01

    The entire section of the switch is a single declaration context. You can't declare a variable in a case statement like that. Try this instead:

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

提交回复
热议问题