На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
  
> Шаблонные классы , Определить класс в 2 файлах...
    Прив всем...

    Давненько я тут(на форуме) не был.. Соскучился :-)
    Вопросик у меня возник. Не получается создать subj в 2-х файлах: H и CPP..
    Линкер ругается :-(
    Вот в принципе сделано все так:
    aaa.h:
    ExpandedWrap disabled
       
      template <class T>
      //---------------------------------------------------
      class aaa {
           T data;
       
       public:
          aaa();
          ~aaa();
      };

    aaa.cpp:
    ExpandedWrap disabled
       
      #include "aaa.h"
      //---------------------------------------------------
      template <class T>
      //---------------------------------------------------
      aaa<T>::aaa() {
          
      }
      //---------------------------------------------------
      template <class T>
      //---------------------------------------------------
      aaa<T>::~aaa() {
          
      }
      //---------------------------------------------------

    И main.cpp:
    ExpandedWrap disabled
       
      #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-х файлах? Если да, то каким образом и где я был не прав?
    Спасибо за внимание.
          Спасибо за ответы! Буду знать..
          Сорри, что не юзал поиск самостоятельно..
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0192 ]   [ 16 queries used ]   [ Generated: 27.04.24, 07:02 GMT ]