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
[40108] Re:배열선언에 관한 질문입니다.
최준호.스페로 [sparrow] 889 읽음    2005-05-11 10:13
안녕하세요 스페로 입니다.

g++에서는 표준이외에 확장 기능 을 지원하여 아래에 코드가 돌아가는거 같습니다.

원래 배열 선언시 첨자는 상수만 가능한걸로 알고 있습니다.

즉 배열  int cache[n+1];  선언시 n이라는 변수를 사용할수 없습니다.

C++ buildeX 뿐만 아니라 C++빌더 또는 일반적인 C컴파일러 대부분에서 에러가 발생 합니다.

gcc는 ANSI C와 100% 호환이 되며 이외에 gcc만에 확장된 기능을 가지고 있습니다.

포인터와 malloc를 이용해서 다르게 구현 할수 있을거 같습니다.

  int *cache;
  cache= (int *)malloc((n +1)* sizeof(int));

그럼 수고 하세요


ralfjon 님이 쓰신 글 :
: 리눅스로 c++ 관련 수업을 들어서 몇개 짜논 코드들을 c++builderX 에서 해볼려고 복사해서 돌렸는데...
:
: 이런 에러가 납니다.
: ----------------------------------------------------------------------------------
: "Fibonacci.cpp": E2313 Constant expression required in function calcFast(int) at line 26
: ----------------------------------------------------------------------------------
:
: 저 26번째 줄은
: ----------------------------------------------------------------------------------
:
: int calcFast(int n)
: {
:         int cache[n+1];  <=요놈 입니다.
:         for (int i = 0; i <= n; i++){
:             cache[i] = -1;
:         }
:         cache[0] = 0;
:         cache[1] = 1;
:         return calcFastHelper(n, cache);
: }
: ----------------------------------------------------------------------------------
:
: int cache[n+1]; 이런 선언에 뭐가 문제가 있나요? 리눅스 g++에서는 그냥 잘 되던건데..
:
: 읽어주셔서 감사합니다.

+ -

관련 글 리스트
40107 배열선언에 관한 질문입니다. ralfjon 755 2005/05/11
40108     Re:배열선언에 관한 질문입니다. 최준호.스페로 889 2005/05/11
40117         Re:Re:배열선언에 관한 질문입니다. ralfjon 895 2005/05/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.