|
오!!! 정말 감사합니다!!!!!
그게 원래는 안되는 문법이군요....
정말로 감사!
최준호.스페로 님이 쓰신 글 :
: 안녕하세요 스페로 입니다.
:
: 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++에서는 그냥 잘 되던건데..
: :
: : 읽어주셔서 감사합니다.
|