C++/Syntax
2021. 3. 11. 16:28
switch
switch
문 내부에서 중괄호 없이 변수 선언은 가능하지만, 초기화는 안된다.중괄호가 없으면 변수의 scope는
switch
문의 중괄호까지인데, 서로 다른case
에서 변수에 접근은 가능하지만 초기화가 안된 상태로 접근할 수 있기 때문이다.특별한 상황이 아니라면 이렇게 사용하는 것은 별로 추천하는 방법은 아니다.
#include <iostream> int main() { using namespace std; int x; cin >> x; switch (x) { int a; // 이건 가능 int b = 5; // Error: initialization of 'b' is skipped by 'case' label case 0: int c; // 이것도 가능 int d = 5; // 이건 안됨 { // 굳이 써야되면 이런 식으로 작성 int e = 5; cout << e << endl; } a = 1; cout << a << endl; } }
'C++ > Syntax' 카테고리의 다른 글
C++ 배열 (Array) (0) | 2021.03.11 |
---|---|
C++ 반복문 (0) | 2021.03.11 |
C++ 제어 흐름 (Control Flow) (0) | 2021.03.11 |
C++ Type Alias (0) | 2021.03.11 |
C++ 열거형 (Enumerate Type) (0) | 2021.03.10 |