C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
template class...., глюки или нет? *.h и *.cpp
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



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

Вернуться в Вопросы программирования в C++Builder