형식 매개변수

함수에 전달되는 매개 변수는 local입니다. 범위는 함수 블럭입니다 형식 매개 변수는 외부 변수 및 한 함수 내에서 정의된 로컬 변수와 다른 이름을 가져야 합니다. 일부 값은 함수 블록의 형식 파라미터에 할당할 수 있습니다. 형식 매개 변수를 const 한정자로 선언하면 함수 내에서 값을 변경할 수 없습니다.

예제:

void func(const int & x[], double y, bool z)
  {
   if(y>0.0 && !z)
      Print(x[0]);
   ...
  }

형식 매개변수는 상수로 초기화될 수 있습니다. 이 경우 초기화 값이 기본값으로 간주됩니다. 초기화된 매개변수 옆에 있는 매개변수도 초기화해야 합니다.

예제:

void func(int x, double y = 0.0, bool z = true)
  {
   ...
  }

이러한 함수를 호출할 때 초기화된 매개 변수를 생략할 수 있으며 기본값 대신 대체됩니다.

예제:

func(1230.5);

단순 유형 매개 변수는 값별로 전달됩니다. 즉, 호출된 함수 내에서 이 유형의 해당 로컬 변수의 수정 사항이 호출 함수에 반영되지 않습니다. 모든 유형의 배열과 구조물 유형의 데이터는 항상 참조를 통해 전달됩니다. 배열 또는 구조 컨텐츠 수정을 금지해야 하는 경우 이러한 유형의 매개 변수는 const 키워드로 선언해야 합니다.

단순 유형의 매개변수를 레퍼런스로 전달할 수 있는 기회가 있습니다. 이 경우 호출 함수 내에서 이러한 매개변수를 수정하면 레퍼런스로 전달되는 해당 변수에 영향을 줍니다. 매개변수가 참조를 통과했음을 나타내려면 데이터 유형 뒤에 & 한정자를 넣습니다.

예제:

void func(int& x, double& y, double & z[])
  {
   double calculated_tp;
   ...
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(i==ArraySize(z))       break;
      if(OrderSelect(i)==falsebreak;
      z[i]=OrderOpenPrice();
    }
   x=i;
   y=calculated_tp;
  }

참조를 통해 전달된 매개 변수는 기본적으로 초기화할 수 없습니다.

함수에 최대 64개의 매개 변수를 전달할 수 있습니다.

더 보기

입력 변수, 데이터 유형, 유형의 캡슐화 및 확장성,변수 초기화, 가시성 범위 및 변수 수명, 객체 생성 및 삭제