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

Ошибка компиляции: template-id does not match any template declaration - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не выполняется код http://www.cyberforum.ru/cpp-beginners/thread1122312.html
Нужно сделать так, чтобы компилятор прожовував функцию sprintf. Возможно как-то это сделать? Error 1 error C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s...
C++ Составить программу, которая подсчитывает количество разных по значению элементов в данном массиве Помогите пожалуйста) Это срочно нужно) Дан одномерный массив Х, состоящий из 20 целых чисел. Составить программу, которая подсчитывает количество разных по значению элементов в нем. http://www.cyberforum.ru/cpp-beginners/thread1122306.html
Создать класс Triangle для представления треугольника C++
Создать класс Triangle для представления треугольника. Поля данных должны включать углы и стороны. Требуется реализовать операции: получения и изменения полей данных, вычисления площади, вычисление...
C++ Никак не могу исправить ошибку, задача на функции
Суть задачи. С помощью рекурсивной функции, не возвращающей значение, замените в данной строке все слова, начинающиеся с заглавной буквы, на многоточие. Если делать задачу без прототипа функции...
C++ Вычислить наименьшее значение каждой строки матрицы и вывести на экран http://www.cyberforum.ru/cpp-beginners/thread1122277.html
Такая ситуация В технаре обучают С++. Практически всё нужно учить самостоятельно , ибо хреново учат.Тут дали задание на массивы ,но не объяснили темы.Помогите пожалуйста с выполнением задания, а я...
C++ посмотрите пожалуйста почему она не работает я переводил с паскаля на с++ program laboratorna1; uses crt; type ar=array of real; var j,n,i:integer; a:ar; s:real; function taras(n:integer; a:ar):real; var i:integer; s:real; подробнее

Показать сообщение отдельно
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245

Ошибка компиляции: template-id does not match any template declaration - C++

17.03.2014, 23:23. Просмотров 862. Ответов 6
Метки (Все метки)

Здравствуйте. Помогите, пожалуйста:

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
47
48
49
50
51
52
53
54
55
56
#include <iostream>
using namespace std;
 
template <typename T>
T maxn(T*, const int*);
 
template <>
char* maxn<char*>(char*, const int*);
 
int main(int argc, char **argv)
{
    //test arrays:
    const int ari_size = 6;
    int ari[ari_size] = {7, 11, 7, 9, 9, 21};
    const int ard_size = 4;
    double ard[ard_size] = {4.1, 0.01, 71.9, 43};
    const int ars_size = 5;
    const char* ars[ars_size] = {
        "Jammy house",
        "Extraterrestial intelligence",
        "Generally electrical",
        "Free Kenny",
        "Central substance"
    };
    
    return 0;
}
 
template <typename T>
T maxn(const T* ar, const int* limit) {
    T curmax = 0, absmax = 0;
    for (int i = 1; i < *limit; ++i)
        if (ar[i] > ar[i-1]) {
            curmax = ar[i];
            if (curmax > absmax)
                absmax = curmax;
        }
    return absmax;
}
 
template <>
char* maxn<char*>(char* ar, const int* limit) {
    int curmax = 0, absmax = 0, max_ind = 0;
    for (int i = 0; i < *limit; ++i) {
        while (ar[i][j] != '\0')
            ++j;
        if (j > curmax) {
            curmax = j;
            if (curmax > absmax) {
                absmax = j;
                max_ind = i;
            }
        }
    }
    return ar[max_ind];     
}
Вот что выдал компилятор:
g++ -Wall -c "main.cxx" (в каталоге: /home/drew/Документы/dev/c++/Stephen Prata/8.6)
main.cxx:9:7: ошибка: template-id «maxn<char*>» for «char* maxn(char*, const int*)» does not match any template declaration
main.cxx: В функции «int main(int, char**)»:
main.cxx:15:6: предупреждение: неиспользуемая переменная «ari» [-Wunused-variable]
main.cxx:17:9: предупреждение: неиспользуемая переменная «ard» [-Wunused-variable]
main.cxx:19:14: предупреждение: неиспользуемая переменная «ars» [-Wunused-variable]
main.cxx: At global scope:
main.cxx:43:7: ошибка: template-id «maxn<char*>» for «char* maxn(char*, const int*)» does not match any template declaration
Сборка завершилась с ошибкой.


Только учу сейчас шаблоны и специализации, поэтому не могу разобраться с ошибками (с предупреждениями там все ясно).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru