#include <iostream>
using namespace std;
int sign(float a){
if(a>0){
return 1;
}else if(a==0){
return 0;
}else{
return -1;
}
}
double sign(double a){
if(a>0){
return 2;
}else if(a==0){
return 3;
}else{
return 4;
}
}
int main(){
float x=10.09;
double y=10.09;
cout<<sign(x)<<endl;
cout<<sign(y)<<endl;
cout<<sign(10)<<endl;
}
---------------------------------------------------------
위의 코드에서 10은 정수이므로 실수형인 float나 double로 형변환을 시켜주어야하는데 결정하는데 모호성을 띄게 되어 컴파일 에러가 뜨게 된다.
그래서 sign(10)이 들어간 줄을 주석처리하거나 10 앞에 (자료형)을 적어 형변환을 시켜주어야 사용자가 원하는 쪽의 함수를 호출할 수 있다.
댓글 0
번호 | 제목 | 글쓴이 | 최근 수정일 | 조회 수 |
---|---|---|---|---|
공지 | 안내사항 | 관리자 | 2019.12.21 | 159 |
» | 모호성 발생 | 관리자 | 2019.02.19 | 143 |
75 | 디폴트 인자 | 관리자 | 2019.02.19 | 2204 |
74 | 생성자 중복 -복사 생성자 | 관리자 | 2019.02.19 | 138 |
73 | 생성자 중복 응용 | 관리자 | 2019.02.19 | 86 |
72 | 생성자 중복 2 | 관리자 | 2019.02.19 | 85 |
71 | 생성자 중복 | 관리자 | 2019.02.18 | 86 |
70 | 함수 중복-매개변수 | 관리자 | 2019.02.18 | 86 |
69 | 함수 중복 | 관리자 | 2019.02.18 | 83 |
68 | 클래스와 포인터 참조를 사용한 성적관리 프로그램 | 관리자 | 2019.02.18 | 88 |
67 | 두 수를 내림차순 정렬하기 | 관리자 | 2019.02.13 | 90 |
66 | 포인터를 이용한 성적관리 프로그램 | 관리자 | 2019.02.13 | 161 |
65 | 포인터확장 | 관리자 | 2019.02.13 | 84 |
64 | 참조반환 | 관리자 | 2019.02.12 | 84 |
63 | 참조 | 관리자 | 2019.02.12 | 82 |
62 | 객체포인터의 동적할당과 해제 | 관리자 | 2019.02.12 | 88 |
61 | new와 delete | 관리자 | 2019.02.12 | 86 |
60 | 객체 포인터 사용 | 관리자 | 2019.02.12 | 88 |
59 | 포인터 사용하기 | 관리자 | 2019.02.12 | 87 |
58 | 배열을 잘못 사용한 예 | 관리자 | 2019.02.12 | 83 |
57 | 배열기초 | 관리자 | 2019.02.11 | 86 |
56 | 배열사용하기 | 관리자 | 2019.02.11 | 86 |
55 | 클래스 깊은 복사 구현 | 관리자 | 2019.02.11 | 89 |
54 | friend 함수 사용 값이 더 큰 객체 반환 | 관리자 | 2019.02.11 | 99 |
53 | 두 사각형 넓이 더하기 friend의 유/무 | 관리자 | 2019.02.11 | 143 |
52 | friend함수 사용하기 | 관리자 | 2019.02.11 | 87 |
51 | 함수로 클래스 반환하기 | 관리자 | 2019.02.11 | 86 |
50 | 함수 입력인자로 클래스 객체 전달 | 관리자 | 2019.02.07 | 90 |
49 | 클래스 깊은복사 과정 확인 | 관리자 | 2019.02.07 | 89 |
48 | 클래스의 얕은복사 과정 확인 | 관리자 | 2019.02.07 | 93 |
47 | 컴퓨터시스템을 클래스로 구현하기 | 관리자 | 2019.01.31 | 86 |