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



Variables can be declared in a switch statement. You'll just need to declare them and use them within a new scope in the switch statement. For example,

Example

#include<iostream> using namespace std; int main() {    int i = 10;    switch(i) {       case 2:       //some code       break;       case 10:{          int x = 13;          cout << x;       }    }    return 0; }

Output

This will give the output:

13

If you try to declare the variable out in the open you might get an error as Jumping to a case label is the same as using goto, so you aren't allowed to jump over a local variable declaration while you're in the same scope as it and might be using it someplace further in that scope.

Updated on: 2020-01-27T12:30:17+05:30

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements