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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
T@Rak0t
2 / 2 / 0
Регистрация: 19.11.2009
Сообщений: 43
#1

Ругается на sqrt - C++

08.01.2010, 22:02. Просмотров 1387. Ответов 9
Метки нет (Все метки)

Компилятор ругается на функцию Sqrt()

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <cmath>
using namespace std;
 
int main(void)
{
    setlocale (LC_ALL, ".1251");
    int a;
    double y;
 
    cout<<"Введие значение а ";
    cin>>a;
    y=(a*a+10)/sqrt(a*a+1);
    
    cout<<"y="<<a<<"\n";
    return 0;
}
C++
1
g:\программирование\с++\упражения 1 части\8\8\8.cpp(13) : error C2668: 'sqrt' : ambiguous call to overloaded function
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2010, 22:02     Ругается на sqrt
Посмотрите здесь:

C++ sqrt
Вычислить: sqrt(k+sqrt(2k+...+sqrt(k(n-1)+sqrt(kn)))) C++
C++ sqrt
C++ Вычислить значение выражения sqrt (2 + sqrt (2 + sqrt (2 ... sqrt2))), (n-слагаемых)
C++ sqrt c++
Рекурсия S=sqrt(1+sqrt(2+sqrt(3+.+sqrt(n) C++
sqrt в c++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Radjuk
134 / 68 / 12
Регистрация: 10.10.2009
Сообщений: 187
08.01.2010, 22:04     Ругается на sqrt #2
шас посмотрим)
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
08.01.2010, 22:07     Ругается на sqrt #3
C++
1
2
        double a;
        double y;
T@Rak0t
2 / 2 / 0
Регистрация: 19.11.2009
Сообщений: 43
08.01.2010, 22:09  [ТС]     Ругается на sqrt #4
Цитата Сообщение от Darky Посмотреть сообщение
C++
1
2
        double a;
        double y;
Помогло
accept
4819 / 3239 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
08.01.2010, 23:07     Ругается на sqrt #5
можно ещё sqrt((double) (a*a+1))
T@Rak0t
2 / 2 / 0
Регистрация: 19.11.2009
Сообщений: 43
08.01.2010, 23:52  [ТС]     Ругается на sqrt #6
Цитата Сообщение от accept Посмотреть сообщение
можно ещё sqrt((double) (a*a+1))
тоесть (как я понимаю) функция sqrt "кушает" лишь дробные типы?
patriot2008
70 / 70 / 4
Регистрация: 04.12.2008
Сообщений: 463
09.01.2010, 00:05     Ругается на sqrt #7
Функция sqrt принимает типы в качестве аргументов float, double, long double. И возвращает соответственные.
accept
4819 / 3239 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
09.01.2010, 00:16     Ругается на sqrt #8
Цитата Сообщение от T@Rak0t
тоесть (как я понимаю) функция sqrt "кушает" лишь дробные типы?
в C++ есть возможность перегрузки функций
это когда несколько функций имеют одинаковое имя, а какую из них вызывать определяется по тому, что в неё передаётся (тип аргумента в вызове)
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
09.01.2010, 00:26     Ругается на sqrt #9
Собственно все это в строке ошибки и написано:
error C2668: 'sqrt' : ambiguous call to overloaded function
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2010, 08:22     Ругается на sqrt
Еще ссылки по теме:

Дано натуральное число n. Вычислить sqrt(2+ sqrt(5 + sqrt(7...)) C++
C++ Вычислить 3(sqrt(x-x^2+x^5))
C++ Вычислить y=sqrt(1+sqrt(4+sqrt(9+.+sqrt(36+sqrt(49)
Вычислить: sqrt(3+sqrt(6+.+sqrt(3*(n-1)+sqrt(3*n).) C++
C++ Ошибка с SQRT

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

Или воспользуйтесь поиском по форуму:
Evg
Эксперт CАвтор FAQ
17385 / 5623 / 350
Регистрация: 30.03.2009
Сообщений: 15,402
Записей в блоге: 26
09.01.2010, 08:22     Ругается на sqrt #10
С точки зрения Си++ функции распознаются не только по имени, но и по прототипу. При подключении cmath у тебя подключаются описания трёх функций:

C
1
2
3
float sqrt (float);
double sqrt (double);
long double sqrt (long  double);
Сие по научному называется "перегрузка функций" (function overload). В случае, когда компилятор видит несколько перегруженных функций, он пытается по типу передаваемых параметров понять, какую из функций реально надо вызывать. В твоём случае параметр имел тип int, а потому в этом случае непонятно, какой из трёх функций отдавать предпочтение. Именно эта мысль кроется за фразой "ambiguous call to overloaded function"
Yandex
Объявления
09.01.2010, 08:22     Ругается на sqrt
Ответ Создать тему
Опции темы

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