C++에서 변수 유효 범위가....
글쓴이: wind772 / 작성시간: 토, 2003/04/12 - 11:26오전
소스.1
for(int i=0 ; i<MAX[0] ; i++) result[0] += i; for(int i=0 ; i<MAX[1] ; i++) result[1] += i;
소스.2
for(int i=0 ; i<MAX[0] ; i++) result[0] += i; for(i=0 ; i<MAX[1] ; i++) result[1] += i;
위의 두 소스중에 어느것이 맞는지요??
for문 초기화 부분에서 선언된 변수는 어디까지 사용할수 있죠??
컴파일러마다 다른가...-_-a
Forums:
표준이 바뀐 걸로..
원래 표준은 소스1처럼 for 문에 안에서만 유효한 지역변수이지만..
개정된 표준은 소스2처럼 for 문이 포함된 블럭에서 유효한 지역변수입니다.
당근 for문 아래부터 유효하겠지요..
컴파일러의 개정표준 지원여부에 따라 달라집니다.
포터블한 소스를 작성할려면 이런 소스는 피해야 될 겁니다.
폐인, 노가다 그 끝은..?
소스 1만이 맞습니다. 소스 2는 잘 알려진 VC++의 구현 버그고요.
소스 1만이 맞습니다. 소스 2는 잘 알려진 VC++의 구현 버그고요. 최근의 VC++.Net에서는 이 버그가 고쳐졌습니다.
댓글 달기