I'm using C++ and I'm having struggle with extern templates. In opposite to C# the whole template implementation is really nasty in C++ :(
template_test.hpp
template<class T>
class CFoo {
        public:
            T Foo_Func(const T& test);
};
template_test.cpp
#include "Template_Test.hpp"
    template<class T>
    T CFoo<T>::Foo_Func(const T& test)
    {
            return test;
    }
template_test2.hpp
#include "Template_Test.hpp"
extern template class CFoo<int>;
int Template_Tests();
template_test2.cpp
#include "Template_Test2.hpp"
int Template_Tests()
{
    CFoo<int> foo_instance;
    //this causes an undefined reference
    int res = foo_instance.Foo_Func(1);
    return res;
}
why does the linker not find my function. I thought extern templates worked the same why as extern variables.
(Put extern int test; in the header file and int test = 0 in the source file.)
thanks for your support:)
 
     
    