Jumping into a block and bypassing a declaration with an initialization is ill-formed. In this example there are cases which would bypass the declaration and initialization of block scope x declaration.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
int main()
{
int x = 3;
switch(x)
{
case 0:
int x = 1;
std::cout << x << std::endl;
break;
case 3:
std::cout << x << std::endl;
break;
default:
x = 2;
std::cout << x << std::endl;
}
return 0;
}
Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.