다음과 같은 형태로의 함수 오버로딩은 문제가있다. 어떠한 문제가 있는지 설명해보자
가령 메인함수에서
SimpleFunc(3); 같이 함수의 인자로 어떠한 한가지의 값을 전달했을때는
첫번째 SimpleFunc함수가 실행되면서 문제가 없겠지만
SimpleFunc();같이 아무런 인자를 넣어주지 않으면
어떠한 SimpleFunc함수를 실행해야하는지 컴파일러가 판단이 불가능하다.
첫번째 함수도 인자값을 전달해주지 않아도 디폴드값이 있기때문에 가능하고
두번째 함수도 매개변수가 void이기때문에 가능하다
따라서, 이 경우에는 디폴드값을 사용하면 안된다.
BoxVolume함수를 '매개변수의 디폴드 값 지정'이 아닌 '함수 오버로딩'의 형태로 재구현 (0) | 2020.10.06 |
---|---|
다음 main함수에서 필요로하는 swap 함수의 오버로딩 구현 (0) | 2020.10.06 |
이름과 전화번호를 문자열로 입력받아 그대로 출력하는 프로그램 (0) | 2020.10.06 |
5개의 정수를 입력받아서 합을 출력하는 프로그램 (0) | 2020.10.06 |
판매원들의 급여 계산 프로그램 (0) | 2020.10.05 |