Я работаю над программой на С++ для класса, и мой компилятор жалуется на "неоднозначный" вызов функции. Я подозреваю, что это связано с тем, что существует несколько функций, определенных с разными параметрами.
Как я могу сообщить компилятору, какой из них я хочу? Помимо конкретного случая, существует ли общее правило, такое как typecasting, которое может решить эти проблемы?
Edit:
В моем случае я попытался вызвать abs()
внутри оператора cout
, передав два double
s.
cout << "Amount is:" << abs(amountOrdered-amountPaid);
Edit2:
Я включаю эти три заголовка:
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
Edit3:
Я закончил программу без этого кода, но в интересах выполнения этого вопроса я воспроизвел проблему. Дословная ошибка:
Вызов "abs" неоднозначен.
Компилятор предлагает три версии abs
, каждый из которых использует разные типы данных в качестве параметра.