| gore |
| Отправлено: 29.01.2005, 23:30 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 17

|
вот ведь какую вещь заметил:
1.
пишу cpp модуль (соотвественно два файла .h и .cpp) — внтури обычный класс
подключаю его к основному модулю как
| CODE | | #include "MY_FILE.h" | ну и в манагере проекта билдера он добавлен
всё работает — этотак и должно быть
2.
но вот другой пример:
пишу еще один модуль и подключаю его как обычно
в нем есть шаблон класса (| CODE | | template <class T> class MY_CLASS... | ),
и если в основном модуле вызывается хоть один метод из этого класса
возникает ошибка линковщика
Unresolved external 'вызываемый_метод' referenced from 'мой_файл.OBJ'
НО!
если в основном модуле место #inclide "MY_FILE.h" написать
#include "MY_FILE.cpp" всё компилируется и работает нормально
кто знает в чем дело?
может у меня где ошибка?
|
 |
| Doga |
| Отправлено: 30.01.2005, 19:36 |
|

Мастер участка
Группа: Участник
Сообщений: 575

|
Попробуйте обьявить его как extern
|
 |
| Guest |
| Отправлено: 30.01.2005, 21:21 |
|
Не зарегистрирован

|
| QUOTE (Doga @ 30/01/2005, 20:38) | | Попробуйте обьявить его как extern |
в смысле? описать шаблон-класс как extern
на такое компилятор ругается! |
 |
| Asher |
| Отправлено: 01.02.2005, 10:33 |
|

Мастер участка
Группа: Модератор
Сообщений: 550

|
Это недоделка компиляторов. Они сейчас не поддерживают разделение шаблонов на интерфейс и реализацию
|
 |
| Георгий |
| Отправлено: 01.02.2005, 13:52 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874

|
| QUOTE (Asher @ 01/02/2005, 11:35) | | Они сейчас не поддерживают разделение шаблонов на интерфейс и реализацию |
а планируется? |
 |
| xTrim |
| Отправлено: 01.02.2005, 14:17 |
|

Машинист паровоза
Группа: Участник
Сообщений: 208

|
Имхо если в стандарте есть, должно планироваться. а в стандарте таки есть.
|
 |