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

Создание шаблона функции

23.03.2015, 13:30. Просмотров 814. Ответов 3
Метки нет (Все метки)

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
#include <iostream>
using namespace std;
 
template <class T>
T min(T a, T b)
{
    T minVal = a;
    if (minVal > b)
        minVal = b;
 
    return minVal;
}
 
int main()
{
    int int1 , int2;
 
    cout << "Введите 2 значиния :";
    cin >> int1 >> int2;
 
    cout << min(int1, int2);
 
    system("pause");
    return 0;
 
}
Выдает ошибку : error C2668: min: неоднозначный вызов перегруженной функции .

Функция должна находить минимальное из двух значений для разных типов праметров.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2015, 13:30
Ответы с готовыми решениями:

Создание шаблона функции
Пожалуйста помогите решить задачу, что то сам никак не могу сообразить((( вот...

Создание шаблона bool-функции, принимающей в качестве параметра экземпляр класса
Добрый день. Никак не получается осилить) Суть: есть классы, у которых есть...

Создание шаблона
Задача - сделать шаблон контейнера. То до чего додумался: #include...

Создание шаблона класса
Столкнулся с данной задачей. Не могу написать шаблон класса, если с...

Создание шаблона однонаправленный список
Как же меня задолбал этот гребанный С++!!! И VStudio впридачу! Задание:...

3
Velesthau
524 / 426 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
23.03.2015, 13:33 #2
Лучший ответ Сообщение было отмечено Archi_horizon как решение

Решение

В std уже есть min (хотя зачем он без алгоритма подцепился), переименуй. Именно поэтому за using namespace std; надо бить по рукам.
2
Alexandr_1982
179 / 80 / 30
Регистрация: 04.11.2013
Сообщений: 413
Записей в блоге: 4
23.03.2015, 13:34 #3
Функция min в STL определена. Для того, чтобы сэкранировать функцию от STL нужно создать свое пространство имен, например s и поместить в него функцию, вызывая через s::min

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
namespace s
{
 
template <class T>
T min(T a, T b)
{
    T minVal = a;
    if (minVal > b)
        minVal = b;
 
    return minVal;
}
}
1
Archi_horizon
0 / 0 / 1
Регистрация: 18.02.2015
Сообщений: 4
23.03.2015, 13:35  [ТС] #4
Спасибо за ответ.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2015, 13:35

Создание шаблона для класса
Добрый вечер! Помогите пожалуйста! Не могу разобраться с работой с шаблонами, а...

Создание экземпляра шаблона класса
Есть код: #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;vector&gt; ...

Создание класса шаблона, ассоциативного массива
При компиляции возникают проблемы следующего характера. 1. В конструкторе...


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

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

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