我有一個類看起來如下喜歡:[連接錯誤]未定義參考`設置<std::string> ::包含(的std :: string常量&)const的」
template<typename T>
class Set{
public:
bool contains(const T& e) const;
};
當我使這個類的一個成員進入另一類是:
class Dfa {
private:
Set<string> F;
public:
bool accepts() const
{
string temp;
return F.contains(temp);
}
};
那麼,這些r只是實際類的一些函數和函數聲明。任何人都可以告訴我,爲什麼我得到的錯誤:
[Linker error] undefined reference to `Set<std::string>::contains(std::string const&) const'
當我編譯它,我該如何解決這個錯誤。謝謝
可能的重複[爲什麼模板類的實現和聲明應該在同一個頭文件中?](http://stackoverflow.com/questions/3749099/why-should-the-implementation-and-the -declaration-of-a-template-class-in-the) – 2012-02-09 16:45:21