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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ const в конце объявления метода делает только *this константным? http://www.cyberforum.ru/cpp-beginners/thread847275.html
То есть const в методе int foo(int x, int y) const; говорит, что внутри метода не будут переопределяться поля класса, а точнее const говорит, что *this будет константным? И на этом все?
C++ Дан массив размера N. Обнулить элементы массива, расположенные между его минимальным и максимальным элементами помогите! ! ! работу нужно сделать в С++ http://www.cyberforum.ru/cpp-beginners/thread847268.html
C++ Поиск по базе в файле
вот тут решил сделать базу данных в консоли смутил поиск ну не как он не хочет искать то что нужно помогите разобраться с этим поиском вот весь код базы может кому пригодиться... #include <stdio.h>...
C++ Проблемы с терминологией. Что такое : ключевые слова, спецификаторы, квалификаторы?
Чаще всего встречаю только список ключевых слов, которые потом могут называться по другому, то есть в списке они ключевые слова почти все, но потом разные авторы называют их по разному, к примеру...
C++ Разделить элементы k-й строки на диагональный элемент, расположенный в этой строке http://www.cyberforum.ru/cpp-beginners/thread847232.html
Заданы матрица порядка n и число k. Разделить элементы k-й строки на диагональный элемент, расположенный в этой строке. Заданы матрица порядка n и число k. Разделить элементы k-й строки на...
C++ Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: Помогите решить задачу на языке с++ Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент BK равен среднему арифметическому элементов массива A с... подробнее

Показать сообщение отдельно
Vartashezik
Сообщений: n/a

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

24.04.2013, 15:15. Просмотров 245. Ответов 3
Метки (Все метки)

Делаю задание по программированию, нужна явная специализация шаблона.
Пишет ошибку:
obj\Debug\main.o||In function `main':|
C:\Users\sklad\Documents\CODEBLOCK\work8.6\main.cpp|16|undefined reference to `int maxn<int>(int*, int)'|
C:\Users\sklad\Documents\CODEBLOCK\work8.6\main.cpp|17|undefined reference to `double maxn<double>(double*, int)'|
C:\Users\sklad\Documents\CODEBLOCK\work8.6\main.cpp|18|undefined reference to `char const* maxn<char const*>(char const**, int)'|
||=== Build finished: 3 errors, 0 warnings (0 minutes, 0 seconds) ===|


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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <cstring>
 
using namespace std;
 
template <class T>
T maxn(T arr[],int n);
 
template <> char * maxn<char*>(char* arr[], int n);
 
int main()
{
    int numbers_i[6] = {4,3,5,6,1,8};
    double numbers_d[4] = {24.42,13.4,0,-64.6542};
    const char* numbers_pc[5] = {"goga chmo_))", "Vano orex", "Dillo deeepth", "1234567890", "Ia baklagan!" };
    cout << "Max int: " << maxn(numbers_i, 6) << endl;
    cout << "Max double: " << maxn(numbers_d, 4) << endl;
    cout << "Max length string: " << maxn(numbers_pc, 5) << endl;
 
 
 
    return 0;
}
 
template <class T>
T max5(T arr[], int n)
{
    T max_dig = arr[0];
    for (int i = 1; i < n; i++)
    {
        max_dig = max_dig > arr[i] ? max_dig : arr[i];
    }
    return max_dig;
}
 
 
template <> char * maxn<char*>(char* arr[], int n)
{
    char * pc = arr[0];
    for (int i = 1; i < n; i++)
    {
        pc = strlen(pc) > strlen(arr[i]) ? pc : arr[i];
 
    }
    return pc;
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru