int MyFuncOne(int num=7)
{
return (num + 1);
}
//will return 8 as num will default as 7
함수의 원형을 선언하는 경우, 매개변수의 디폴트 값은 함수의 원형 선언에만 위치시켜야 한다.
#include <iostream>
int Adder(int num1=1, int num2=2);
int main(void)
{
std::cout<<Adder()<<std::endl;
std::cout<<Adder(5)<<std::endl;
std::cout<<Adder(3,,5)<<std::endl;
return 0;
}
int Adder(int num1, int num2)
{
return (num1, num2);
}
다음과 같이 부분적 디폴트 값을 지정 할 수 있다.
int YourFunc(int num1, int num2 = 2, int num3 = 1); //가능
int YourFunc(int num1 = 3, int num2 = 2, int num3); //불가능
이유는 YourFunc(a, b) 를 부른다고 할떄 가운데만 default 를 가지고 있다면 a, b 가 어디로 들어가야 될지 모르기 때문이다. (매개변수가 오른쪽 부터 채워지기 떄문)