Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.149.243.32] |
|
Сообщ.
#1
,
|
|
|
Прив всем...
Давненько я тут(на форуме) не был.. Соскучился :-) Вопросик у меня возник. Не получается создать subj в 2-х файлах: H и CPP.. Линкер ругается :-( Вот в принципе сделано все так: aaa.h: template <class T> //--------------------------------------------------- class aaa { T data; public: aaa(); ~aaa(); }; aaa.cpp: #include "aaa.h" //--------------------------------------------------- template <class T> //--------------------------------------------------- aaa<T>::aaa() { } //--------------------------------------------------- template <class T> //--------------------------------------------------- aaa<T>::~aaa() { } //--------------------------------------------------- И main.cpp: #include "aaa.h" //--------------------------------------------------- int main(int argc, char** argv) { aaa<int> bbb; return(0); } На это линкер ругается: Цитата Linking... list.obj : error LNK2001: unresolved external symbol "public: __thiscall aaa<int>::~aaa<int>(void)" (??1?$aaa@H@@QAE@XZ) list.obj : error LNK2001: unresolved external symbol "public: __thiscall aaa<int>::aaa<int>(void)" (??0?$aaa@H@@QAE@XZ) Release/list.exe : fatal error LNK1120: 2 unresolved externals Если весь класс определять в файле aaa.h (с уже реализацией функций), то все отлично компилируется, линкуется и работает.. Подскажите, плз, реально ли subj размещать в 2-х файлах? Если да, то каким образом и где я был не прав? Спасибо за внимание. |
Сообщ.
#3
,
|
|
|
Сообщ.
#4
,
|
|
|
Спасибо за ответы! Буду знать..
Сорри, что не юзал поиск самостоятельно.. |