Что означает ошибка компилятора С++ error: call of overloaded 'f(int)' is ambiguous note: candidates are
Если компилятор выдал такие ошибки:
In function 'int main()':
error: call of overloaded 'f(int)' is ambiguous
note: candidates are:
note: float f(float)
note: double f(double)
Это значит неоднозначность компилятора, который не знает какую функцию вызывать для данного типа аргумента, он не был задан.
Это показано на примере:
float f(float i);
double f(double i);
int main ()
{
cout << f(10) << '\n';
return 0;
}
float f(float i) {return i;}
double f(double i) {return -i;}
Мы пытаемся вызвать функцию с целым числом (тип int) который не был задан при инициализации функций.
Оставить свой ответ: