Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 1
Регистрация: 02.01.2013
Сообщений: 123

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

21.01.2013, 09:14. Показов 952. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
привет ! написал этот код в eclipse
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef CLIST_H_
#define CLIST_H_
 
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;
};
 
#endif /* 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
#include "CList.h"
#include <iostream>
 
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;
    }
}
 
template<class T> CList<T>::CList()
{
    pnode = new node;
    pnode->next = NULL;
}
 
template<class T> CList<T>::~CList()
{
    delete pnode;
    pnode = NULL;
}

C#
1
2
3
4
5
6
7
8
9
10
11
12
#include "CList.h"
#include <iostream>
 
using namespace std;
 
int main()
{
    CList<int> list;
    list.push_back(34);
    list.show();
    return 0;
}

почему при компиляции вылетает такая ошибка ? что не так я делаю ?
Миниатюры
undefined reference to `CList<int>::show()'  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.01.2013, 09:14
Ответы с готовыми решениями:

[Linker error] undefined reference to `sterling(int, int, int)'
#include &lt;iostream&gt; using namespace std; int sterling(int,int,int); int sterling(int,int); int sterling(int); int main() { ...

Undefined reference to Change_Array(int, int)
Приветствую всех желающих помочь Третьи сутки осваиваю функции C++, вторые сутки бьюс не на жизнь, а на смерть с // undefined...

Undefined reference to `Vector::SetElem(int, double)'|
Делал по методичке, но не могу понять, в чем проблема? в гугле что нашел это с названиями или подключаемыми файлами проблема. Но названия...

1
20 / 20 / 3
Регистрация: 25.05.2011
Сообщений: 62
21.01.2013, 15:53
http://www.parashift.com/c++-f... -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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.01.2013, 15:53
Помогаю со студенческими работами здесь

Ошибка компиляции undefined reference to `Polygon::Polygon(Point const*, int)'
#include &quot;Polygon.h&quot; #include &lt;iostream&gt; #include &lt;iomanip&gt; using std::cout; using std::endl; int main() ...

Ошибка при компиляции undefined reference to `List<int>::List()'|
Доброго времени суток=) столкнулась с такой проблемой нужно написать шаблон класса. При компиляции выдает ошибку undefined reference to...

Ошибка [Linker error] undefined reference to `Vector::Vector(int)'
Добрый день. Делал по методички, и почему-то валятся ошибки... файл lab9_main.cpp #include &lt;iostream&gt; #include...

Странная ошибка: [Linker error] undefined reference to `__dyn_tls_init_callback' [Linker error] undefined reference to ld returned 1 exit status
Здравствуйте. Вот недавно начал изучать книгу &quot;С++ для чайников&quot; Стефан Р. Девис 4-е издание. И напоролся на кучу ошибок) Но смог все...

undefined reference to `List<int>::List()'
#include&lt;iostream&gt; #include &lt;cstdlib&gt; #include&lt;string&gt; using namespace std; template&lt;typename T&gt; class List { public: ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru