Добрый день!
Есть класс Counter:
Counter.h:
#pragma once
#include <list>
#include <string>
template<class T> class Counter
{
public:
Counter(void);
};
Counter.cpp:
#include "Counter.h"
template<class T> Counter<T>::Counter()
{
}
Его использование:
#include <string>
#include "Counter.h"
//Test - класс для теста
void Test::Count()
{
std::string str = "qwe";
Counter<std::string> counter;
}
При компиляции всё нормально, но линковщик выдает ошибку:
error LNK2019: unresolved external symbol "public: __thiscall Counter<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >::Counter<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >(void)" (??0?$Counter@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@@QAE@XZ) referenced in function "public: static void __cdecl Test::Count(void)" (?Count@Test@@SAXXZ)
Никак не могу понять — в чём дело?!
Подскажите, пожалуйста!!!