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

undefined reference to `CList<int>::show()' - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ребят доработайте код программы (программа сортировки чисел методом Шелла) http://www.cyberforum.ru/cpp-beginners/thread767654.html
Нужна помощь Есть программа сортировки чисел методом шелла ее надо дописать чтоб она спрашивала 1 - введите сами 2 – рандом Если выбирает 1: то Введите размер массива: Введите сам массив (...
C++ Написать программу, которая по координатам камушков на поле находит вариант размещения их на двух несовпадающих окружностях Долго решал, в какой же раздел форума написать, поэтому если не туда попал - прошу прощения :) Итак, сидит друг на экзамене, попросил подсобить с решением задачи: "Юный футболист Митя обнаружил на... http://www.cyberforum.ru/cpp-beginners/thread767635.html
Подправить код C++
#include "stdafx.h" #include <iostream> using namespace std; const int n=10; float X; double sum(); int _tmain(int argc, _TCHAR* argv) { int i; cout<<"Massiv X"<<endl;
C++ Нахождения максимального из двух чисел
2 С помощью механизма перегрузки функций реализовать функции для нахождения максималь-ного из: 1) 2-х чисел; 2) длин 2-х строк; 3) длины строки и числа; 4) числа и длины строки.
C++ Исправить ошибку (умножение двух матриц) http://www.cyberforum.ru/cpp-beginners/thread767591.html
#include <iostream> #include <windows.h> using namespace std; void main() { SetConsoleOutputCP(1251); const int s = 2; int a1, a2, a3 = {0}; cout << "Запоните первый мaссив:\n"; for(int i =...
C++ Некоректное выполнение программы по присваиванию char масивов Привет знатокам я написал не большой код в котором одномерный масив char присваевается к двумерному char. Вопрос вот в чем. если закоментить эту строку //char symbolArray2 = {''}; получаетя... подробнее

Показать сообщение отдельно
grindaah
20 / 20 / 0
Регистрация: 25.05.2011
Сообщений: 62
21.01.2013, 15:53
http://www.parashift.com/c++-faq-lite/templates-defn-vs-decl.html

Clearly somebody somewhere is going to have to use the "pattern" for the constructor definition and for the someMethod() definition and instantiate those when T is actually int. But if you had put the definition of the constructor and someMethod() into file Foo.cpp, the compiler would see the template code when it compiled Foo.cpp and it would see Foo<int> when it compiled Bar.cpp, but there would never be a time when it saw both the template code and Foo<int>. So by rule #2 above, it could never generate the code for Foo<int>::someMethod().
Так что:
CList.h:

Кликните здесь для просмотра всего текста

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
#ifndef CLIST_H_
#  define CLIST_H_
 
#include <iostream>
 
template<class T>
class CList
{
public:
    CList();
    void push_back(T);
    void show(void);
    virtual ~CList();
private:
    struct node
    {
        T data;
        node* next;
    };
    node* pnode;
};
 
template<class T>
CList<T>::CList()
{
    pnode = new node;
    pnode->next = NULL;
}
 
template<class T>
CList<T>::~CList()
{
    delete pnode;
    pnode = NULL;
}
 
template<class T>
void CList<T>::push_back(T value)
{
    node* tmp = new node;
    tmp->data = value;
    tmp->next = NULL;
    if(pnode == NULL)
        pnode = tmp;
    else
    {
        node* current = pnode;
        while(current->next != NULL)
            current = current->next;
        current->next = tmp;
    }
}
 
template<class T>
void CList<T>::show(void)
{
    while(pnode != NULL)
    {
        std::cout<<pnode->data<<'\t';
        pnode = pnode->next;
    }
}
 
 
#endif /* CLIST_H_ */
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru