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

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

Войти
Регистрация
Восстановить пароль
 
Rusl_v
13 / 12 / 1
Регистрация: 22.12.2010
Сообщений: 67
#1

Шаблон ф-ции - C++

05.03.2012, 00:16. Просмотров 350. Ответов 3
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <iostream>
using namespace std;
template <class T>
    T min(T number1,T number2){
    T minimum=number1;
    if (number2<minimum) minimun=number2;
    return minimum;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");
    int x,y,z;
    cout<<"Введите два числа:"<<endl;
    cin>>x>>y;
    cout<<"Наименьшее число равно:"<<min(x,y)<<endl;
    system("pause");
    return 0;
}
Ругается компилятор что
min: неоднозначный вызов перегруженной функции
может быть 'T min<int>(T,T)'
with
1> [
1> T=int
1> ]
1> e:\vs\vc\include\xutility(3371): или 'const _Ty &std::min<int>(const _Ty &,const _Ty &)'
1> with
1> [
1> _Ty=int
1> ]
1> при попытке сопоставить список аргументов '(int, int)'
Что не так подскажите?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2012, 00:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шаблон ф-ции (C++):

Передача ф-ции как параметра другой ф-ции - C++
struct pupil{ char surname; int school; int answer; int num; } tmp, a; int usl(int i, pupil a) { }

Шаблоны функций, Ошибка: для использования класса шаблон требуется список аргументов шаблон - C++
Есть у меня 3 структуры Трамвай , Троллейбус , Автобус. Для автобуса определены функции (работают) Троллейбус и Трамвай одинаковые поля...

Прототип ф-ции. - C++
1.Как для данной ф-ции &quot;sort&quot; создать прототип? #include &lt;windows.h&gt; #include &lt;iostream&gt; #include &lt;time.h&gt; #include&lt;stdlib.h&gt;...

Ф-ции с рекурсиями - C++
Ребята в этой проге реверс первой строки делается без проблем, но почему-то в последующих строках ф-ция реверс работает не правильно. Уже...

Массив. Сортировка. Ф-ции - C++
:-#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; #include &lt;ctime&gt; #define n 11 //константы #define k 10 ...

Задача на написание ф-ции!!! - C++
Доброго времени суток:) Нужно написать ф-цию,которая вводит целое число из диапазона от 1 до 32767 и печатает его как последовательность...

3
sandye51
программист С++
684 / 586 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
05.03.2012, 00:18 #2
Rusl_v, min уже есть в пространстве имен std
убери using namespace std; и пиши везде явно std::cout, std::end; std::con
или помести свою версию min в новое пространство имен
1
Rusl_v
13 / 12 / 1
Регистрация: 22.12.2010
Сообщений: 67
05.03.2012, 00:43  [ТС] #3
Спасибо,разобрался,просто Дэйтелы не знали что я юзаю using namespace std; о которой практически ничего не знаю))

Добавлено через 19 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include <iostream>
template <class T>
    T min(T number1,T number2){
    T minimum=number1;
    if (number2<minimum) T minimum=number2;//Ругается когда не стоит T перед minimum,хотя уже было объявлено 
    return minimum;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");
    float x,y;
    std::cout<<"Введите два числа:"<<std::endl;
    std::cin>>x>>y;
    std::cout<<"Наименьшее число равно:"<<min(x,y)<<std::endl;
    system("pause");
    return 0;
}
Что то криво работает не хочет if (number2<minimum) T minimun=number2; присваивать наименьшее число.В чём проблема?)
0
sandye51
программист С++
684 / 586 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
05.03.2012, 00:45 #4
Rusl_v, у тебя просто опечатка в if() {..}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2012, 00:45
Привет! Вот еще темы с ответами:

Дружественные ф-ции и ввод строки - C++
День добрый! Столкнулся со следующей проблемой, пользуясь VS6. char str ; cin&gt;&gt; str; вводит до пробела, gets() не работает, getline()...

Поясните по записи возврата из ф-ции - C++
Вот так люди пишут? int foo() { int n=0; cin&gt;&gt;n; return std::move(n); }

Throw() в объявлении/определении ф-ции - C++
Привет всем! Какое отличие такого написания ф-ции void foo(){ throw std::exception(&quot;except in function foo&quot;); } от void...

Какой в С++ аналог ф-ции InputBox? - C++
Какой в С++ аналог ф-ции InputBox?


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
05.03.2012, 00:45
Ответ Создать тему
Опции темы

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