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

C/C++ Q/A
[753] Re:당연히 안됩니다.
김백일 [cedar] 1828 읽음    2002-06-14 13:58
황창호 님이 쓰신 글 :
:  int main(void) {
:
:     int f_degree;
:     //start of input
:     cin >> f_degree;
:     bool fx[f_degree];
:  }
:
:  이렇게 하는데 array생성하는 부분에서 'Constant expression required in fuction main()'

에러메시지 그대로 입니다.
배열 선언은 항상 상수로 선언해야 합니다.
C/C++의 배열은 원래 그런 제한이 있는 겁니다.

:  이라고 에러가 나요.
:
:  어떻게 하죠?
:
:  작업은 bcc32 에서 하고 있어요.

이런 한계를 극복하고,
fx[i] 와 같은 표현를 사용하는 방법은 여러 가지가 있습니다.

1) 동적 메모리 할당을 사용하는 방법이 있습니다.

bool *fx = new bool[f_degree];

사용한 후에는 반드시

delete[] fx;

로 동적 할당한 메모리를 삭제해야 합니다.

2) ANSI C++ STL의 vector나 deque을 사용하세요.

deque<bool> fx(f_degree);

할당된 메모리는 자동으로 삭제됩니다.

+ -

관련 글 리스트
752 키보드 인풋을 받아 그만큼의 array를 할당하려고 하는데요. 황창호 1648 2002/06/14
753     Re:당연히 안됩니다. 김백일 1828 2002/06/14
754         죄송한데 한가지만 더 물어보겠습니다. 황창호 1763 2002/06/14
760             Re:죄송한데 한가지만 더 물어보겠습니다. 김백일 1747 2002/06/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.