Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2012, 16:53   #1
Украина
Новичок
Джуниор
 
Регистрация: 07.01.2012
Сообщений: 1
Сообщение error C2668: 'sqrt' : ambiguous call to overloaded function

Код:
#include<math.h>
#include<iostream>
using namespace std;
int main()
{
	int num1,num2;
	double s=0;
	cout<<"Enter num1:";
	cin>>num1;
	cout<<"Enter num2:";
	cin>>num2;
	s=(-num1+sqrt(num1*num1+3*num2))/(2*num2);
	cout<<"The result is:";
	cin>>s;
	cout<<"Please enter to exit";
	cin.get();
	cin.get();
	return 0;
}
ошибка error C2668: 'sqrt' : ambiguous call to overloaded function

Последний раз редактировалось ACE Valery; 08.01.2012 в 18:05.
Украина вне форума Ответить с цитированием
Старый 07.01.2012, 18:08   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Спасибо за предупреждение, будем знать!
Rififi вне форума Ответить с цитированием
Старый 08.01.2012, 18:07   #3
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Насколько я помню, sqrt принимает в себя тип double, а вы передаете туда int. Попробуйте приведение типов.
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 08.01.2012, 18:34   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

1)cmath, а не math.h.
2)sqrt принимает и float, и double, и long double.(три версии)
поскольку int имеет автопреобразование ко всем трем типам, компилятор не знает какую из них вызвать.
нужно явное приведение типа
Код:
sqrt(static_cast<long double>(num1*num1+3*num2))
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка `sqrt' undeclared (first use this function) jasul Общие вопросы C/C++ 21 24.09.2011 13:57
ошибка Call to a member function fetch_assoc() on a non-object Bendebej PHP 2 02.04.2010 14:04
Call to undefined function 'pow' fs444 Общие вопросы C/C++ 4 14.01.2010 14:34
Почему ошибка? [DCC Error] main.pas(99): E2250 There is no overloaded version of 'StringReplace' ... TwiX Общие вопросы Delphi 5 19.11.2009 03:25
Fatal error: Call to undefined function mysql_connect() Air Помощь студентам 1 17.01.2009 12:41