나는 C++ 프로그램에서 클래스 작업을하고 있는데, 컴파일러는 "모호한"함수 호출에 대해 불평하고있다. 다른 매개 변수로 정의 된 여러 함수가 있기 때문에 이것이 의심 스럽습니다."모호한"함수 호출을 수정하려면 어떻게합니까?
내가 원하는 컴파일러를 어떻게 알 수 있습니까? 케이스 별 수정 사항을 제외하고, 이런 종류의 문제를 해결할 수있는 타입 캐스팅과 같은 일반적인 규칙이 있습니까?
편집 : 내 경우
, 나는 두 double
의 전달하는 cout
문 내부 abs()
를 호출했습니다.
cout << "Amount is:" << abs(amountOrdered-amountPaid);
Edit2가 : 나는이 세 가지 헤더를 포함하고있어
:
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
EDIT3 :
이 코드하지 않고 프로그램을 완료했습니다, 그러나이 퀘스트를 통해 다음을 추구하기 위해 에, 나는 문제를 재현했습니다. 축 어적 오류는 다음과 같습니다.
'abs'로의 호출이 모호합니다.
컴파일러에는 abs
의 세 가지 버전이 있으며, 각각은 다른 데이터 유형을 매개 변수로 사용합니다.
코드 예제를 보여 주시겠습니까? –
정말 상황에 따라 다릅니다. 코드를 게시하고 컴파일러 오류에 어떤 함수가 후보가되는지 (최근 GCC가 수행하는지) 필요한 경우 도움이됩니다. –
또한 헤더가 포함됩니다. – mkb