본문 바로가기
공부/개발노트

[C/C++] switch/case문 오류 해결 방법(case 안에 변수를 정의했을 때)

반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
int main() {
    char c = 'B';
    
    switch(c){
        case 'A':
            char my_grade = 'A';
        // 여기서 my_grade를 사용해서
        // 무엇인가 한다.
            break;
        
        case 'B':
            // char your_grade = my_grade;
            break
    }
    
    return 0;
}
cs

이렇게 구현하면 아래와 같은 오류가 뜰 것이다.
영문판이라 영문 오류가 뜬 것이다.



이 오류가 뜨면 아래와 같이 수정해주면된다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
int main() {
    char c = 'B';
    
    switch(c){
        case 'A':
            {
                char my_grade = 'A';
                // 여기서 my_grade를 사용해서
                // 무엇인가 한다.
                break;
            }
                    
        case 'B':
            // char your_grade = my_grade;
            break
    }
    
    return 0;
}
cs

그러면 오류없이 컴파일될 것이다.

case 안에 변수를 선언할 경우 반드시 위처럼 중괄호를 해주어서 구분을 지어주는 것이 오류를 최소화하는 길이다.


반응형

'공부 > 개발노트' 카테고리의 다른 글

[C/C++] while문 사용 예제  (0) 2016.08.16
[C/C++] 삼항연산자  (0) 2016.08.16
[C/C++] switch/case문을 if문으로 변경해보기  (0) 2016.08.16
[C/C++] switch/case의 사용 예시  (0) 2016.08.16
[C/C++] if문 사용 예문  (0) 2016.08.16