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