C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[59388] 배열에서 []안에 쓸 수 있는 값에 대해 질문있습니다.
임형섭 [] 1286 읽음    2009-12-08 20:32
우선
int count =3;
char buf[count];
이런식으로 쓰면

//--
[BCC32 Error] Unit2.h(52): E2313 Constant expression required
  Full parser context
    File1.cpp(7): #include Unit2.h
    Unit2.h(13): class CompressFile
    Unit2.h(66): decision to instantiate: void CompressFile::unCompressFile(char *,char *)
    --- Resetting parser context for instantiation...
    Unit2.h(41): parsing: void CompressFile::unCompressFile(char *,char *)
//--
란 에러가 뜨네요.  그래서 상수 값을 쓰라는 건가 보다라고 생각해서

const int count =3;
char buf[count];
이런식으로 하니 에러가 안났습니다.

드디어 질문 파일의 길이를 구하는데
FILE* file;
file = fopen("파일명","wb");
if(file == NULL) printf("error");
const int fileLength = filelength(fileno(file));
char buf[fileLength];
라고 하면 될 줄 알았는데 맨 위와 같은 에러가 뜹니다. 그 이유를 알고 싶습니다. -- 알고 보니 반환형이 long 형이네요
그럼 다음 질문
실제로 char buf[fileLength];를 char* buf = (char*)malloc(fileLength) 라고 하면 아무 문제가 없지만 긍금한 것은
그냥 배열로 만드는 방법은 없을까요?

+ -

관련 글 리스트
59388 배열에서 []안에 쓸 수 있는 값에 대해 질문있습니다. 임형섭 1286 2009/12/08
59396     Re:배열에서 []안에 쓸 수 있는 값에 대해 질문있습니다. 땅주인 1270 2009/12/09
59389     Re:배열에서 []안에 쓸 수 있는 값에 대해 질문있습니다. Intotheblue 1354 2009/12/08
59392         Re:Re:배열에서 []안에 쓸 수 있는 값에 대해 질문있습니다 임형섭 1580 2009/12/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.