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

Перегрузка функции, ошибка - C++

Восстановить пароль Регистрация
 
Alek70694
 Аватар для Alek70694
4 / 4 / 0
Регистрация: 27.10.2012
Сообщений: 240
02.12.2013, 23:51     Перегрузка функции, ошибка #1
Что за ошибки? Задание по книге, там все четко работает.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
int add ( int a, int b)
{
    return a + b;
}
 
float add ( float a, float b)
{
    return a + b;
}
int main (void)
{
std::cout << add (5,4);
std::cout << add (5.3 , 4.7);
return 0;
}
Миниатюры
Перегрузка функции, ошибка  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2013, 23:51     Перегрузка функции, ошибка
Посмотрите здесь:

Перегрузка функции C++
перегрузка функции C++
Перегрузка функции C++
C++ перегрузка функции
Перегрузка операторной функции и функции ! C++
C++ Перегрузка функции. Ошибка
C++ Перегрузка функции
C++ Дружественные функции. Наследование. Перегрузка функции

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
03.12.2013, 06:02     Перегрузка функции, ошибка #2
Alek70694, компилятор не может понять какую функцию вызывать, если не ошибаюсь потому что поумолчанию числа с плавающей точкой это double, а неявного преобразования float-double не происходит. можно вместо float - double использовать, или явное преобразование
C++
1
std::cout << add ((float)5.3 , 4.7);
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
03.12.2013, 12:38     Перегрузка функции, ошибка #3
Alek70694, потому что 5.3 это double, чтобы был float нужно 5.3f. Поэтому, либо изменить тип параметров, добавляя например f. Либо изменить перегрузку с типа float на тип double.
C++
1
double add ( double a, double b)
Yandex
Объявления
03.12.2013, 12:38     Перегрузка функции, ошибка
Ответ Создать тему
Опции темы

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