작성
·
286
0
double sub(int);
float sub(int, int);
반환형을 사용해 구별하지 않기 때문에 중복 불가능이라고 하는데
매개변수의 개수가 다르기 때문에 중복 가능하지 않나요?
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
함수 중복이 불가능한 이유는 반환형만을 사용하여 구별하지 않는다는 것이 맞아요.
하지만 매개변수의 개수가 다르다고 해서 함수 중복이 가능한 것은 아닙니다.
C++에서 함수 중복이 가능하기 위해서는 함수 이름과 매개변수의 타입 또는 개수가 서로 달라야 합니다.
예를 들어, double sub(int) 함수와 float sub(int, int) 함수를 동시에 선언하려면,
두 함수의 매개변수의 타입과 개수를 모두 다르게 선언해야 합니다.
매개변수의 개수가 다르다고 중복 선언이 가능한 것은 아니기 때문에,
함수 중복을 원할 경우 매개변수의 타입을 달리하여 선언하는 것이 중요하답니다.
더 궁금한 점이 있으시면 언제든지 댓글로 질문해주세요. 감사합니다.