Название: Использование дружественных функций в шаблонных классах Отправлено: StogovOleg от Октябрь 22, 2008, 13:54 Почему компилируется но не линкуется следующий код:
Код: template<class type1> class T1 Код: void Form0::init() 1. Правильно выбираей раздел форума! 2. Пользуйся тэгом КОД! Название: Re: Использование дружественных функций в шаблонных классах Отправлено: Rcus от Октябрь 22, 2008, 14:16 http://www.parashift.com/c++-faq-lite/templates.html#faq-35.16
Название: Re: Использование дружественных функций в шаблонных классах Отправлено: Tonal от Октябрь 22, 2008, 21:24 Вроде компилятор вполне поятно всё объясняет:
Цитировать sss.cpp:3: warning: friend declaration `int f1(T1<type1>&, int)' declares a non-template function компилится и собирается следующий код:sss.cpp:3: warning: (if this is not what you intended, make sure the function template has already been declared and add <> after the function name here) -Wno-non-template-friend disables this warning sss.cpp: In function `int f1(T1<type1>&, int)': sss.cpp:11: warning: no return statement in function returning non-void C:\Temp/ccQ8RvRo.o:sss.cpp:(.text+0x39): undefined reference to `f1(T1<int>&, int)' C:\Temp/ccQ8RvRo.o:sss.cpp:(.text+0x4c): undefined reference to `f1(T1<double>&, int)' collect2: ld returned 1 exit status Код: class T1; П.С. Если хочится плотно развликаться с шаблонами - выбрось дебилдер. Там багов немерянно именно в обработке шаблонных конструкций. |