[ BinaryRuler @ 07.04.2010. 20:51 ] @
Naisao sam na problem sa linkovanjem kada sam hteo da napravim sablonsku statik metodu. Metoda lepo radi kada se koristi unutar te klase ali javlja se problem sa linkovanjem kada se koristi izvan klase. error: main.obj : error LNK2019: unresolved external symbol "public: static void __cdecl CUtility::foo<long>(long)" (??$foo@J@CUtility@@SAXJ@Z) referenced in function _main fatal error LNK1120: 1 unresolved externals Evo koda: Utility.h Code: #ifndef UTILITY_H #define UTILITY_H class CUtility { public: template<typename T1> static void foo(T1 value); template<typename T2> static void foo1(T2 value); }; #endif Utility.cpp Code: #include "Utility.h" template<typename T1> void CUtility::foo(T1 value) { long k; foo1<long>(k); value++; //............. } template<typename T2> void CUtility::foo1(T2 value) { value++; //........... } main.cpp Code: #include "Utility.h" int main() { long i; CUtility::foo<long>(i);//Bez ove linije linkuje return 0; } Ne znam gde gresim. |