때때로 암시적 형변환을 프로그래머가 금지해야 하는 경우가 있다.
이를 테면 int형 인자를 받는 함수에 double형 인자를 넣게 되면 암시적 형변환이 되는데, 이를 막기위해선 두 가지 방법이 있다.
1. double 형 함수를 선언만 하고 구현하지 않는다.
이 경우 컴파일 시 foo(double)로의 참조가 정의되어 있지 않다고 링크 에러가 발생하게 된다.
2. C++ 11의 delete function 기능을 쓴다.
이 경우 위와 달리 컴파일 시점에 에러가 발생한다.
라이브러리를 제작해서 배포하려 하면 2번 방법시에만 에러가 나니 약간 다르다.
'프로그래밍 > C++' 카테고리의 다른 글
C와 C++의 cast (0) | 2017.10.08 |
---|---|
후위 반환 형식 trailing return type/ suffix return type (0) | 2017.10.08 |
인라인 함수 (0) | 2017.10.08 |
함수 오버로딩 (0) | 2017.10.08 |
디폴트 파라미터 (0) | 2017.10.08 |