때때로 암시적 형변환을 프로그래머가 금지해야 하는 경우가 있다.


이를 테면 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

+ Recent posts