Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Sveta1992
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 10
#1

работа с функциями.что-то не так.

11.02.2012, 17:11. Просмотров 588. Ответов 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
32
33
34
35
36
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>
 
using namespace std;
 
double tang (double);//радианы
int tang (int);//градусы
 
void main()
{
    setlocale(LC_ALL, "russian");
    for (int i=0;i<3;i++)
    {
    cout<<"введите аргумет"<<endl;
    double c;
    cin>>c;
    
    double x=tang(c);
        cout<<"тангенс аргумента"<<x<<endl;
    }
    _getch();
}
    
double tang (double k)
{
 double b = tan (k);
 return b;
}
 
int tang (int k)
{
 int b = tan (k);
 return b;
}
 Комментарий модератора 
Используйте теги форматирования кода!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2012, 17:11
Ответы с готовыми решениями:

Расскажите что значат эти строчки (работа со строками и функциями)
//какие библиотеки тут не используются???? // #include &lt;tchar.h&gt; #include...

Работа с указателями: подскажите что я не так делаю
Добрый день Подскажите пожалуйста что в этой программе не так #include...

Работа с файлами в С++. Подскажите , что не так , сам пробую разобраться и никак не получается
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;windows.h&gt; #include...

Работа с функциями
Помогите, пожалуйста, не могу никак понять. В диапазоне определить диапазон ,...

работа с функциями в С++ !!
помогите сделать задачу !нужно найти найбольший общий делитель пятинатуральных...

5
retmas
Жарю без масла
865 / 747 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
11.02.2012, 17:18 #2
C++
1
2
3
4
5
int tang (int k)
{
    int b = tan(double(k));
    return b;
}
1
Sveta1992
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 10
11.02.2012, 17:33  [ТС] #3
а почему так нужно было сделать? объясните пожалуйста.
0
retmas
Жарю без масла
865 / 747 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
11.02.2012, 17:45 #4
в с++ для ф-ии tan есть 3 варианта перегрузки: для типов double, long double, и float. компилятору безразлично в какой из этих 3х типов ему перевести тип int. отсюда неоднозначность вызова ф-ии. записью tan(double(k)) мы конкретно указываем, какую из перегрузок использовать
1
-=ЮрА=-
Заблокирован
Автор FAQ
12.02.2012, 04:01 #5

Не по теме:

Sveta1992, здесь

Цитата Сообщение от retmas Посмотреть сообщение
int b = tan(double(k));
- можно было преобразовывать и неявным способом вот так int b = tan(1.0*k);



Добавлено через 7 минут
PS:
Цитата Сообщение от Sveta1992 Посмотреть сообщение
int tang (int);//градусы
- вам вдобавок ещё и неверно подсказали, чтобы данная функция воспринимала параметр в градусах и выдавала корректный ответ, я бы рекомендовал и даже буду настаивать чтобы вы сделали тело int tang (int) таким
C++
1
2
3
4
5
6
int tang (int k)
{
    double pi_2 = asin(1.0);
    int b = tan(pi_2*k/90.0);
    return b;
}
PS: retmas, ты забыл что tan принимает значение в радианах??!
http://www.cplusplus.com/reference/clibrary/cmath/tan/
Compute tangent
Returns the tangent of an angle of x radians.
In C++, this function is overloaded in <complex> and <valarray> (see complex tan and valarray tan).
Parameters
x
Floating point value representing an angle expressed in radians.
0
retmas
Жарю без масла
865 / 747 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
12.02.2012, 08:34 #6
-=ЮрА=-, я ответил почему ошибки компиляции и показал идею, как избавится от нее, а градусы или радианы использует ТС я не вникал.
0
12.02.2012, 08:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2012, 08:34

Работа с функциями
Доброго времени суток. Нужна помощь с функциями. Для первой задачи есть...

Работа с функциями
Здравствуйте. Есть задание: Напишите программу, которая использует 3...

Работа с функциями
Народ, объясните мне пожалуйста почему в функциях countX передаются вот такие...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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