Здравствуйте, anagaf, Вы писали:
A>Здравствуйте, denisko, Вы писали:
D>>1) Может ты шаблон вынес в cpp
A>Да, в начальном сообщении была ошибка. Tester::test() определена в cpp, как:
A>A>template <class Object> bool Tester::test( Object obj)
A>{
A> return obj != 0;
A>}
A>
A>Ты это имел ввиду? Что криминального в таком определении?
A>Если прописать прямо в h:
A>A>template <class Object> static bool test( Object obj) {return obj != 0;}
A>
A>все работает
//file: test.h
/*...*/
template <class Object>
class CTest
{
public:
static bool test( Object obj);
/*...*/
}
/*...*/
//file: test.cpp
/*...*/
template <class Object>
bool Tester::test( Object obj)
{
return obj != 0;
}
/*...*/
Попробуй так, если хочешь разделить объявление и опредиление.