Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ыфырф1992
25 / 25 / 12
Регистрация: 08.04.2012
Сообщений: 200
#1

Ругается на неоднозначный вызов перегруженной функции - C++

06.04.2014, 15:05. Просмотров 698. Ответов 5
Метки нет (Все метки)

Делаю все по примерам не могу понять в чем ошибка. Уверен что ошибка элементарная. Ругается на неоднозначный вызов перегруженной функции. Причем на все функции(
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <cmath>
using namespace std;
#define Pi 3.14
int main()
{
int T; double P; int r,t,Y,R,A;
cout<<"T = ";
cin>>T;
cout<<"r = ";
cin>>r;
cout<<"Y = ";
cin>>Y;
cout<<"R = ";
cin>>R;
cout<<"A = ";
cin>>A;
cout<<"t = ";
cin>>t;
if (T>2)
{
P=(78*Pi+A-cos(T+r))/(pow(r,2)-log(T));
}
else
{
P=(log(R)+Pi-cos(Y)+67)/(sin(R)+pow(t,2));
}
cout<<P;
system("pause");
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2014, 15:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ругается на неоднозначный вызов перегруженной функции (C++):

Неоднозначный вызов перегруженной функции - C++
#include &quot;stdafx.h&quot; #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;Windows.h&gt; #include &lt;iomanip&gt; #include...

Неоднозначный вызов перегруженной функции - C++
Ввести с клавиатуры число n. Динамически выделить память для массива целых чисел размером n. Заполнить массив данными с клавиатуры....

Неоднозначный вызов перегруженной функции (sqrt) - C++
Вот в программе написано: int n, b; n = sqrt(b); // &lt;-- Неоднозначный вызов перегруженной функции... Может формат записи не тот ?

pow: неоднозначный вызов перегруженной функции - C++
#include &lt;iostream&gt; using namespace std; int main() { int i; double res= {0},r; i=0;r=0; cout.setf(ios::fixed); ...

Ошибка: неоднозначный вызов перегруженной функции - C++
Ошибка:= error C2668: TCalc::TCalc: неоднозначный вызов перегруженной функции myclass\myclass.cpp MyClass TCalc.cpp #include...

неоднозначный вызов перегруженной функции pow - C++
Ошибка 1 error C2668: pow: неоднозначный вызов перегруженной функции 2 IntelliSense: существует более одного экземпляра перегруженная...

5
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
06.04.2014, 15:32 #2
Цитата Сообщение от ыфырф1992 Посмотреть сообщение
Ругается на неоднозначный вызов перегруженной функции.
Какой компилятор? На какие строки? Сделайте все типы double и не парьтесь
0
ыфырф1992
25 / 25 / 12
Регистрация: 08.04.2012
Сообщений: 200
06.04.2014, 15:36  [ТС] #3
visual c++ 2010 express,
C++
1
P=(78*Pi+A-cos(T+r))/(pow(r,2)-log(T));
и на эту
C++
1
P=(log(R)+Pi-cos(Y)+67)/(sin(R)+pow(t,2));
1>------ Построение начато: проект: chernowik, Конфигурация: Debug Win32 ------
1> chernowik.cpp
1>c:\users\александр\documents\visual studio 2010\projects\прога 1\chernowik\chernowik\chernowik.cpp(22): error C2668: cos: неоднозначный вызов перегруженной функции
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(559): может быть "long double cos(long double)"
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(511): или "float cos(float)"
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(115): или "double cos(double)"
1> при попытке сопоставить список аргументов "(int)"
1>c:\users\александр\documents\visual studio 2010\projects\прога 1\chernowik\chernowik\chernowik.cpp(22): error C2668: pow: неоднозначный вызов перегруженной функции
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(583): может быть "long double pow(long double,int)"
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(535): или "float pow(float,int)"
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(497): или "double pow(double,int)"
1> при попытке сопоставить список аргументов "(int, int)"
1>c:\users\александр\documents\visual studio 2010\projects\прога 1\chernowik\chernowik\chernowik.cpp(22): error C2668: log: неоднозначный вызов перегруженной функции
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(575): может быть "long double log(long double)"
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(527): или "float log(float)"
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(120): или "double log(double)"
1> при попытке сопоставить список аргументов "(int)"
1>c:\users\александр\documents\visual studio 2010\projects\прога 1\chernowik\chernowik\chernowik.cpp(26): error C2668: log: неоднозначный вызов перегруженной функции
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(575): может быть "long double log(long double)"
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(527): или "float log(float)"
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(120): или "double log(double)"
1> при попытке сопоставить список аргументов "(int)"
1>c:\users\александр\documents\visual studio 2010\projects\прога 1\chernowik\chernowik\chernowik.cpp(26): error C2668: cos: неоднозначный вызов перегруженной функции
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(559): может быть "long double cos(long double)"
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(511): или "float cos(float)"
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(115): или "double cos(double)"
1> при попытке сопоставить список аргументов "(int)"
1>c:\users\александр\documents\visual studio 2010\projects\прога 1\chernowik\chernowik\chernowik.cpp(26): error C2668: sin: неоднозначный вызов перегруженной функции
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(585): может быть "long double sin(long double)"
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(537): или "float sin(float)"
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(123): или "double sin(double)"
1> при попытке сопоставить список аргументов "(int)"
1>c:\users\александр\documents\visual studio 2010\projects\прога 1\chernowik\chernowik\chernowik.cpp(26): error C2668: pow: неоднозначный вызов перегруженной функции
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(583): может быть "long double pow(long double,int)"
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(535): или "float pow(float,int)"
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(497): или "double pow(double,int)"
1> при попытке сопоставить список аргументов "(int, int)"
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Не получиться поставить double задача стоит именно так. Причем в DEV C++ все работало.
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
06.04.2014, 16:20 #4
ыфырф1992, тогда домножьте первый аргумент каждой функции на 1.0 (это переведет тип в double). Или используйте явное приведение static_cast<double>(T+r) и т.д.
1
ыфырф1992
25 / 25 / 12
Регистрация: 08.04.2012
Сообщений: 200
06.04.2014, 16:22  [ТС] #5
Tulosba, спасибо но почему работало в DEV C++ не подскажите(просто интересно)?
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
06.04.2014, 16:24 #6
ыфырф1992, вероятно разные версии стандарта языка C++. В C++11 есть варианты упомянутых функций для целого типа.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2014, 16:24
Привет! Вот еще темы с ответами:

Pow: неоднозначный вызов перегруженной функции - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; #define eps 10E-3 using...

Непонятка с template: неоднозначный вызов перегруженной функции - C++
В чем может быть проблема? Выдает следующее: error C2668: min: неоднозначный вызов перегруженной функции. Спасибо за помощь. template...

Ошибка sin: неоднозначный вызов перегруженной функции - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;iomanip&gt; using namespace std; int main() { double f={0}; int i; ...

не собирается программа. fmod: неоднозначный вызов перегруженной функции - C++
помогите пожалуйста запустить программу(шифрование/дешифрование текста), код вроде правильный, но выдается пара непонятных мне ошибок....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
06.04.2014, 16:24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru