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