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

Ошибка: ('sqrt' : ambiguous call to overloaded function) - C++

Восстановить пароль Регистрация
 
spruced
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 27
08.06.2013, 08:27     Ошибка: ('sqrt' : ambiguous call to overloaded function) #1
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
#include "stdafx.h"
#include <iostream>
#include <math.h>
 
using namespace std;
 
int main()
{
   setlocale(LC_ALL, "Russian");
  
   int N;
   cout << "Введите размерность массива: ";
   cin >> N;
   int *x = new int[N];
   for (int i = 0; i < N; i++)
   {
       cout << "Введите " << i <<"-й элемент массива: ";
       cin >> x[i];
   }
   int *y = new int[N];
   for (int i = 0; i < N; i++)
   {
       cout << "Введите " << i <<"-й элемент массива: ";
       cin >> y[i];
   }
  int i,z;
  for (int i = 0; i < N; i++)
  {z=sqrt(x[i]*x[i]+ y[i]* y[i]);
 
cout << z <<" ";
 
 
  }
 
}
это часть незаконченной программы
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2013, 08:27     Ошибка: ('sqrt' : ambiguous call to overloaded function)
Посмотрите здесь:

C++ Ambiguous call to overloaded function
C++ Ambiguous access to overloaded function
'sqrt' : ambiguous call to overloaded function C++
Error: call of overloaded ‘Function’ is ambiguous C++
C++ Abiguous call to overloaded function
Error C2668: 'sqrt' : ambiguous call to overloaded function C++
Ambiguous call to overloaded function / рекурсивная функция C++
Ошибка: call of overloaded 'strchr(char&, char)' is ambiguous C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Гром
 Аватар для Гром
199 / 118 / 10
Регистрация: 20.03.2009
Сообщений: 1,075
Записей в блоге: 15
08.06.2013, 08:35     Ошибка: ('sqrt' : ambiguous call to overloaded function) #2
Лучше сделайте x, y и z типа double, иначе у вас в z будет только целая часть от корня храниться (вместо корня из двух, например, просто единица, все что после запятой - потеряется). Тогда и ошибка не будет появляться.
Но если хотите оставить x и y все-таки целыми (z в любом случае придется делать double), то пишите
C++
1
z=sqrt(double( x[i] * x[i] +  y[i] * y[i]));
Yandex
Объявления
08.06.2013, 08:35     Ошибка: ('sqrt' : ambiguous call to overloaded function)
Ответ Создать тему
Опции темы

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