이 에러 메세지가 의미하는것은 무엇인가요..?^^
글쓴이: sadrove / 작성시간: 금, 2003/10/03 - 4:50오후
51: for(int i=0; i<60; i++) 52: md5_siteaddr[i] = md5_addr[i+4];
에러나는 부분은 위와 같고요...
에러메세지는 다음과 같습니다..
Quote:
hashing.c: In function `main':
hashing.c:51: `for' loop initial declaration used outside C99 mode
make: *** [hashing.o] 오류 1
저기서 말하는 C99 mode가 의미하는것은 무엇이죠..?
틀린 부분이 없는것 같은데...
도움 부탁드려요...
Forums:
루프 처리에 일부 문제가 있을 수 있네요..
원래는 아무 문제 없이 컴파일이 되어야 하는데 컴파일이 안 되네요..
한번
부분을
으로 바꾸고 다시 컴파일을 해 보세요.. 이번엔 될 겁니다.[/code]
c표준에서는 for()문 안에서 변수 선언을 하지 못합니다.해결책은
c표준에서는 for()문 안에서 변수 선언을 하지 못합니다.
해결책은 위에분이 말씀하신게 맞구요..
c++은 가능합니다.
C99 mode 가 나오는 이유는.
표준 C 의 최신인 C99 에는 for 반복문의 범위를 갖는 변수선언이 가능하기 때문이죠.
즉 그 이전의 표준에서는 불가능합니다.
gcc 에서 option 을 -std=C99 으로 하시면 C99 표준에 맞춰 compile 하실 수 있습니다.
아직 gcc 는 C99 을 모두 준수하지는 않지만 가능한 것은 해주는 거죠.
아...그렇군요...
답변 주신분들 감사합니다...
for(int i=0;... 이 너무 익숙해서..^^
고맙습니다.. :D
댓글 달기