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

шаблоны и связь между файлами в проекте

11.12.2010, 15:14. Показов 1972. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Собственно, проблема в следующем:
если убрать комментарии в файле list.h, то все нормально компилируется.
если убрать комментарии в файле list.cpp, то в point.cpp выводится ошибка "undefined reference"

в принципе, проблема решаема, например, подключением в point.h вместо list.h list.cpp, но стало интересно почему появляется эта ошибка?

point.h

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "list.h"
 
class Point
{
    private:
    int x;
    int y;
 
    public:
    Point(int _x, int _y, List<Point> l);
 
 
};
point.cpp

C++
1
2
3
4
5
6
7
8
9
#include "point.h"
 
Point::Point(int _x, int _y, List<Point> l)
{
    x = _x;
    y = _y;
 
    l.add(this); //Error
}
list.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 <stddef.h>
 
template <class Item> class List
{
    struct ListItem
    {
        Item* i;
        ListItem* next;
        ListItem(Item* _i){i = _i; next = NULL;}
    };
 
    private:
    ListItem* first;
    ListItem* end;
 
    public:
    List(){first = NULL; end = NULL;}
    void add(Item* _i);
};
 
/*template <class Item>void List<Item>::add(Item* _i)
{
    ListItem* t = new ListItem(_i);
 
 
    if(!first)
    {
        end->next = t;
        end = t;
    } else
    {
        first = t;
        end = t;
    }
 
 
}
 
*/
list.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "list.h"
 
/*template <class Item>void List<Item>::add(Item* _i)
{
    ListItem* t = new ListItem(_i);
 
 
    if(!first)
    {
        end->next = t;
        end = t;
    } else
    {
        first = t;
        end = t;
    }
 
 
}
 
*/
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2010, 15:14
Ответы с готовыми решениями:

Связь заголовочного и исходного файлов в проекте
Добрый день! Учу многофайловые программы. Определение функции пишу в заголовочном файле. Вызов в...

Работа с несколькими файлами в проекте
Подскажите, как осуществлять взаимодействие между двумя файлами проекта (Visual Studio 2012), надо...

Связь между файлами
Добрый день. Проблема состоит в следующем. Пользовался 2010 офисом и при копировании папки с...

Как удалить связь между 2-мя разными файлами в аксессе
помогите пожалуйста, заранее извините за грамматику , я не русский и попытаюсь написать о проблеме...

0
11.12.2010, 15:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2010, 15:14
Помогаю со студенческими работами здесь

Связь между разными файлами\книгами. Для начинающих
Всем привет. Не знаю, как сформулировать вопрос, поэтому опишу задачу, если кто поможет, спасибо...

Связь 2 форм в проекте
Добрый день! Помогите разобраться с проблемой. В проекте С# есть 2 формы, одна - основная, там...

Организация и связь файлов в проекте Qt
Как-то на днях решил переписать некоторое swing-приложение на qt. И застрял на самых начальных...

Создать любые две таблицы, установить между ними связь, и с помощью запроса показать эту связь
Короче такое задание. Создать любые две таблицы, установить между ними связь и с помощью запроса...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru