|
Robin 님이 쓰신 글 :
: 메인 form의 헤더화일에서
:
: extern int max;
max, min은 ANSI C++ 표준 라이브러리(std)에 있는 함수 이름입니다.
당장은 충돌이 안나지만, using namespace std; 명령을 쓰면 충돌이 나서 컴파일러 에러가 납니다.
다른 이름으로 바꾸세요.
: 이렇게 선언을 해서 다른 서브 form의 헤더화일에서
:
: double data[max];
:
: 이렇게 이용을 하고자 합니다.
:
: ==> 하지만, compile시에 에러가 납니다.
: 에러의 내용은 메인 form에서 max값을 const 타입으로 선언하고 특정 값을 assign해야함.
: 이라고 나옵니다.
:
: 그래서 일단은
:
: extern int max ==> const extern int max = 2; 이라고 하고 사용을 하고 있습니다.
만약 const가 아니고 임의의 크기로 동적 배열을 잡으시려면,
새더님 답글처럼 new[]와 delete[]를 써서 동적 할당을 하시던가,
C++ 표준 라이브러리의 vector를 쓰실 것을 권합니다.
std::vector<double> data(Max);
: ==> c에서는 프로그램을 실행할 때 입력 변수 값을 받을 수 있지않습니까?
: void main(*input) [문법은 확실치 않음] <= 이런 방법으로 통해서
콘솔 프로그램의 main함수의 원형은
int main(int argc, char * argv[])
입니다.
(main의 리턴값으로 void는 표준에 위배됩니다. int만 쓰세요.)
VCL을 사용한 윈도 프로그램에서는
ParamCount()가 argc 역할을, ParamStr()이 argv 역할을 합니다.
파라미터를 주어서 실행하려면, [Run]-[Parameters...]메뉴에서 입력하면 됩니다.
독립적으로 실행할 때는 물론 도스창에서 입력하면 되죠.
: 위의 main form의 헤더화일에 선언된 define 타입의 상수에 값을 입력하고 전체적으로
: 프로그램을 실행할 수 있지않습니까?
'define 타입의 상수'란 말은 무슨 뜻인지? 이런 용어는 제가 알기론 없습니다.
|