반응형

** 디폴트 매개변수 **

 

전달되지 않은 인자를 대신하기 위한 기본 값이 

 

설정 되어 있는 변수


1
2
3
4
5
6
7
8
9
 
int function(int a = 0)
{
 
 return a + 1;
 
}
 
 
Crocus

 


 

즉, 디폴트 매개변수를 지정 해 두면 a에 아무값이

 

오지 않았을 경우 a = 0 으로 간주하고 시작한다.

 

function(0) == function()

 

둘다 디폴트 매개변수 값이 없으니 a = 0으로 간주한다.



주의점


디폴트 매개변수는 여러개 선언 할 때 반드시 오른쪽에서 부터 정의 해야한다.


1
2
3
4
5
 
int function(int a, int b = 1int c = 2); // 맞는 코드
 
int function(int a, int b = 1int c ); // 틀린 코드
 
Crocus


int function(1,2); 라고 틀린 코드에 접목 시키면 어떤 매개변수에 호출을 원하는 것인지 파악 할 수 없기 때문이다.


반응형