반응형
다음을 사용하여 컴파일 오류 : 스위치, "이전에 예상되는 표현식"
꽤 자명하기 때문에 내 문제를 재현했습니다.
이것은 오류없이 준수합니다.
switch (n) {
case 1:
NSLog(@"");
NSString *aStr;
break;
default:
break;
}
이것은 오류 와 함께 컴파일되며 NSLog () 만 누락되었습니다.
switch (n) {
case 1:
NSString *aStr;
break;
default:
break;
}
컴파일시 오류가 발생합니다. " 'NSString'앞에 예상되는 표현식 "
여기에 뭔가 빠졌나요?
일반 C에서는 두 경우 모두 괄호로 묶어야합니다. 이것이 문제를 해결할 수 있다고 생각합니다.
case 1:
{
NSLog(@"");
NSString *aStr;
break;
}
자세한 내용은 이 SO 질문 을 참조하십시오.
이 문제를 해결하는 또 다른 방법은 위의 작업 예제에서 수행 한 것처럼 case 레이블과 첫 번째 선언 사이에 문을 넣는 것입니다. 자세한 내용은 의견과 Quinn Taylor의 답변을 참조하십시오.
대괄호 가 없는 a 및 C 기반 언어의 다른 많은 컨텍스트에서는 변수를 첫 번째 문 으로 선언 할 수 없습니다 case
. 자세한 내용 은 switch 문 내에서 변수 선언 을 참조하세요.
case 0: {
Loading my nib file;
break;
}
case 1: {
Loading another nib file;
break;
}
Note that if you don't have an assignment (x = y) right after the case it won't be a problem. For example:
참고 URL : https://stackoverflow.com/questions/2036819/compile-error-with-switch-expected-expression-before
반응형
'Program Tip' 카테고리의 다른 글
HTML / CSS의 라디오 / 체크 박스 정렬 (0) | 2020.10.11 |
---|---|
Internet Explorer 8의 jQuery 문제 (0) | 2020.10.11 |
jQuery scrollTop은 Chrome에서 작동하지 않지만 Firefox에서는 작동합니다. (0) | 2020.10.11 |
CSS3로 반복되는 육각형 패턴 생성 (0) | 2020.10.11 |
node.js 서버를 데몬 프로세스로 어떻게 시작합니까? (0) | 2020.10.11 |