我有一个类看起来如下喜欢:[连接错误]未定义参考`设置<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