|
황창호 님이 쓰신 글 :
: 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);
할당된 메모리는 자동으로 삭제됩니다.
|