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

Не могу найти ошибку. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Калькулятор комплексных чисел. Помогите плз найти ошибки http://www.cyberforum.ru/cpp-beginners/thread448333.html
Написала програмку для работы с комплексными числами, с С++ знакома поверхностно и прога эта не работает :gsad: подскажите где я ошиблась, буду признательна)) Добавлено через 16 секунд # include...
C++ Работа с битовыми операциями Реализовать функции шифрования и дешифрования строк. Принцип шифрования: на четыре бита слева каждого символа нало-жить 4-ёх битную маску (операция XOR), затем первый и третий би-ты слева поменять... http://www.cyberforum.ru/cpp-beginners/thread448323.html
Из элементов массива m сформировать массив n того же размера по правилу C++
1)Дан массив. Составить программу расчета квадратного корня из любого элемента массива, а также расчета среднего арифметического двух любых элементов массива. 2)Дан массив а. Определить...
"Блоковый ввод-вывод" C++
Постановка задачи Сформировать двоичный файл из элементов, заданной в варианте структуры, распечатать его содержимое, выполнить удаление и добавление элементов в соответствии со своим...
C++ Вывод данных в таблицу в ворд http://www.cyberforum.ru/cpp-beginners/thread448273.html
Лаба по сис анализу на поиск минимума функции на отрезке разными методами. Сам поиск я сделал, осталось засунуть всё в отчёт. Отчёт представляется в виде ворд документа, где есть титульник, задание,...
C++ declaration of 'std::string s' shadows a parameter <?php echo 'Приветствую тебя, '.$user->get('username') ?> <?php endif ?> О многоуважаемый, зри в void CH. #include <cstdlib> #include <iostream> #include <fstream> #include <string>... подробнее

Показать сообщение отдельно
eaglecrazy
1 / 1 / 0
Регистрация: 06.02.2012
Сообщений: 31

Не могу найти ошибку. - C++

18.02.2012, 13:57. Просмотров 463. Ответов 7
Метки (Все метки)

Добрый день всем! Опять у меня проблемы с моими "любимыми" шаблонами. Есть две шаблонные функции печатающие содержимое списка. Первая для любого типа, вторая для char. В ней возникают такие ошибки:

15/15-06/List.h||In member function ‘void List<T>:rintList() const [with T = char]’:|
15/15-06/List.h|97|error: invalid use of incomplete type ‘struct ListNode<char>’|
15/15-06/List.h|5|error: declaration of ‘struct ListNode<char>’|
15/15-06/List.h|98|error: invalid use of incomplete type ‘struct ListNode<char>’|
15/15-06/List.h|5|error: declaration of ‘struct ListNode<char>’|
||=== Build finished: 4 errors, 0 warnings ===|


Вот код классов и этих функций:

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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
template<typename T> //строка номер 5 на которую жалуется компилятор
class ListNode;
 
template<typename T>
class List
{
    public:
        List();//
        ~List();//
        void inputFirst(const T &);//
        void deleteFirst();
        void inputLast(const T &);//
        void deleteLast();
        bool isEmpty() const;//
        void printList()const;//
        List<T> & operator=(const List<T> &);
        List<T> & operator+(const List<T> &);
 
    private:
        ListNode<T> *first;
        ListNode<T> *last;
        ListNode<T> *newNode(const T &);//
};
 
template<typename T>
class ListNode
{
    friend class List<T>;
 
    public:
        ListNode()
        {
            next = NULL;
        };
 
    private:
        ListNode *next;
        T data;
};
 
template<>
void List<char>::printList() const
{
    if(isEmpty())
    {
        cout << "List is empty" << endl;
        return;
    }
 
    ListNode<char> *ptr = first;
 
    while(ptr != NULL)
    {
        cout << ptr->data;//строка 97 на которую жалуется компилятор
        ptr = ptr->next;//строка 98 на которую жалуется компилятор
    }
    cout << endl;
}
 
 
template<typename T>
void List<T>::printList() const
{
    if(isEmpty())
    {
        cout << "List is empty" << endl;
        return;
    }
 
    ListNode<T> *ptr = first;
 
    while(ptr != NULL)
    {
        cout << ptr->data << endl;
        ptr = ptr->next;
    }
}
Пожалуйста помогите вычислить ошибку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.