Как исправить «неоднозначный» вызов функции?

Я работаю над программой на C ++ для класса, и мой компилятор жалуется на "неоднозначный" вызов функции. Я подозреваю, что это связано с тем, что есть несколько функций, определенных с разными параметрами.

Как я могу сказать компилятору, какой мне нужен? Помимо исправления для конкретного случая, есть ли какое-то общее правило, такое как приведение типов, которое могло бы решить подобные проблемы?

Изменить:

В моем случае я попытался вызвать abs () внутри оператора cout , передавая два double s.

cout << "Сумма:" << abs (amountOrdered-amountPaid);

Edit2:

Я включаю эти три заголовка:

#include <iostream>
#include <fstream>
#include <iomanip>

using namespace std;

Edit3:

Я завершил программу без этого кода, но для того, чтобы ответить на этот вопрос, я воспроизвел проблему. Дословная ошибка:

Обращение к 'abs' неоднозначно.

Компилятор предлагает три версии abs , каждая из которых принимает в качестве параметра разные типы данных.

18
задан Moshe 26 September 2011 в 04:20
поделиться