인프런 커뮤니티 질문&답변
강의 12분 30초 질문있습니다.
작성
·
211
1
왜 여기서 오류가 나는건가요? unsigned int 는 양의 정수 표현 아닌가요? 3.14159의 자료형은 무조건 float, double의 자료형에 속하는데, 왜 compiler가 둘 중에 하나를 못 정하는지 이해가 안됩니다. 
답변 1
1
안녕하세요~
3.14159f 는 void print(int) 도, void print(float) 도 둘 다 받을 수 있습니다.
그래서 어떤 함수를 호출해야할지 모호하기 때문에 에러가 발생한 것입니다.
int i = 3.14159f;
이게 문법적으로 가능하다는 것을 생각해보면 이해되실거에요!
i 엔 소수점이 버려지고 3 만 저장되겠죠.
마찬가지로 3.14159f 파라미터도 int 매개변수에 전달될 수 있기 때문에 (소수점은 버려지겠지만)
모호한 것입니다. 두 함수 모두 이 파라미터를 받을 수 있기 때문에요





