Что означает ошибка компилятора С++ 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) который не был задан при инициализации функций.

 



Оставить свой ответ:

Имя:*
E-Mail:
Вопрос:
Skolko buдет пять пдюс сeмь?
Ответ:*
QQpedia21.ru - cамые интересные вопросы