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

Почему sqrt требует тип double? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Методы деления отрезка http://www.cyberforum.ru/cpp-beginners/thread398584.html
Разработать программу, выполняющую сравнение методов: 1) деления отрезка пополам 2) хорд 3) касательных 4) итераций Помогите найти реализацию этих методов в отдельных функциях. Главное как можно проще и понятнее. Вот напрмиер метод хорд: //Метод хорд
C++ Выход из программы по нажатии esc Ребят, как реализовать досрочный выход из программы на любом этапе ее выполнения, желательно по нажатии клавиши ESC? http://www.cyberforum.ru/cpp-beginners/thread398573.html
вычисления значения полинома n-го порядка C++
Составить программу для вычисления значения полинома n-го порядка (n<30 и вводится с клавиатуры) y=a1xn+a2xn-1+...+anx+an+1, если массив A задан как константа, а значение аргумента x вводится с клавиатуры.
предпроцессорные конструкции, файл time.h, не понятка C++
Здравствуйте друзья. у меня не понятка в коде... ниже выложил файл time.h в 38 этой строчке не пойму в чем проблема объясните пожалуйста если знаете я в этих предпроцессорных инструментах плохо разбираюсь. спасибо друзья /*** *time.h - definitions/declarations for time routines * * Copyright (c) Microsoft Corporation. All rights reserved.
C++ Динамическая матрица, заполнение динамического массива. http://www.cyberforum.ru/cpp-beginners/thread398556.html
Вот моя программа, которая никак не хочет работать, помогите пожалуйста. #include "iostream" #include <cstdlib> #include <conio.h> #include <locale.h> using namespace std; void plus(int x, int M, int B) {
C++ Сортировка строк в файле Добрый день.Сейчас возникли огромные проблемы с написанием программы на Си. Можете пожалуйста, помочь? На компьютере создан файл, в котором есть неизвестное количество строк неизвестного размера. Нужно упорядочить строки в файле в алфавитном порядке. Условие в задаче-использовать указатели( не знаю, можно ли вообще без них). Заранее благодарен. :) подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5759 / 3408 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
04.12.2011, 16:26     Почему sqrt требует тип double?
Потому что sqrt может принимать float, double, long double. Ты передаешь функции целочисленное значение. Откуда компилятору знать, к какому именно из трех типов (float, double, long double) ему сделать привести переданное значение? Пример с произвольной перегруженной функцией:
C++
1
2
3
4
5
6
7
8
9
10
11
12
void foo(double)
{
}
 
void foo(float)
{
}
 
int main()
{
    foo(3);
}
Впролне очевидно, что мы получим ошибку при компиляции:
Код
-*- mode: compilation; default-directory: "/home/nameless/samples/cpp/" -*-
Compilation started at Sun Dec  4 22:28:00

make -j8
g++ -c -Wall -g -std=c++0x  main.cc
main.cc: In function ‘int main()’:
main.cc:11:10: error: call of overloaded ‘foo(int)’ is ambiguous
main.cc:11:10: note: candidates are:
main.cc:1:6: note: void foo(double)
main.cc:5:6: note: void foo(float)
make: *** [main.o] Error 1

Compilation exited abnormally with code 2 at Sun Dec  4 22:28:00
все потому, что компилятор не знает, какую из функций вызвать в данном случае
 
Текущее время: 09:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru