Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
55 / 55 / 45
Регистрация: 24.03.2016
Сообщений: 378
1

Шаблонные функции

20.04.2016, 00:22. Просмотров 460. Ответов 2
Метки нет (Все метки)


Такой код работает.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
template <typename T>
T maxn(T a[], int b) {
    T max = 0;
    for (int i = 0; i < b; i++) {
        if (a[i] > max)
            max = a[i];
    }
    return max;
}
 
int main() {
    double a[5] = { 1, 555, 333, 222, 66 };
    cout << maxn(a, 5) << endl;
    char * s[3] = { "mama", "Kraab", "Kliiiip" };
    cout << maxn(s, 3) << endl;
}


А такой нет.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main() {
    double a[5] = { 1, 555, 333, 222, 66 };
    cout << maxn(a, 5) << endl;
    char * s[3] = { "mama", "Kraab", "Kliiiip" };
    cout << maxn(s, 3) << endl;
}
 
template <typename T>
T maxn(T a[], int b) {
    T max = 0;
    for (int i = 0; i < b; i++) {
        if (a[i] > max)
            max = a[i];
    }
    return max;
}


Почему?

Добавлено через 3 минуты
А потому что я не объявил функцию

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
template <typename T>
T maxn(T a[], int b);
int main() {
    double a[5] = { 1, 555, 333, 222, 66 };
    cout << maxn(a, 5) << endl;
    char * s[3] = { "mama", "Kraab", "Kliiiip" };
    cout << maxn(s, 3) << endl;
}
 
template <typename T>
T maxn(T a[], int b) {
    T max = 0;
    for (int i = 0; i < b; i++) {
        if (a[i] > max)
            max = a[i];
    }
    return max;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2016, 00:22
Ответы с готовыми решениями:

Шаблонные функции
Здравствуйте! Помогите сделать в данном коде 2 задания: 1)Сделать тип элемента заданной структуры...

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

Шаблонные функции
Читал у Праты про шаблонные функции, и везде они описаны наподобие template &lt;typename Any&gt; void...

Шаблонные функции
С помощью http://ru.wikipedia.org/wiki/Шаблоны_C%2B%2B пытался написать программу с шаблонной...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
2
Don't worry, be happy
16972 / 9853 / 1897
Регистрация: 27.09.2012
Сообщений: 24,431
Записей в блоге: 1
20.04.2016, 00:23 2
Цитата Сообщение от Armatus Посмотреть сообщение
Почему?
Ну так компилятор же еще не знает что такое maxn.
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>
#include <string>
#include <cstring>
using namespace std;
 
 
template <typename T>
T maxn(T a[], int b);//объявили
 
 
int main() {
    double a[5] = { 1, 555, 333, 222, 66 };
    cout << maxn(a, 5) << endl;
    char * s[3] = { "mama", "Kraab", "Kliiiip" };
    cout << maxn(s, 3) << endl;
}
 
template <typename T>
T maxn(T a[], int b) {
    T max = 0;
    for (int i = 0; i < b; i++) {
        if (a[i] > max)
            max = a[i];
    }
    return max;
}
1
55 / 55 / 45
Регистрация: 24.03.2016
Сообщений: 378
20.04.2016, 00:35  [ТС] 3
Croessmah, ну я уже сам догадался, но все равно спасибо за ответ.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2016, 00:35

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Шаблонные функции
1) Написать шаблонную функцию для нахождения минимального из трех передаваемых чисел (для чисел...

Шаблонные функции
Доброго времени суток. Есть шаблонная функция(двоичный сумматор прямого кода): template &lt;class T&gt;...

Шаблонные функции
Помогите, пожалуйста, реализовать шаблонную функцию определения, есть ли число в массиве

Шаблонные функции в C++
Каждый раз когда вижу код, который должен быть простым и понятным, я понимаю его немного хуже. Вот...


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

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

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