私は以下の同類を見てクラスがあります。私は、このクラスのメンバーを作るとき[リンカエラー] `<std::string>を設定するには、未定義の参照が::「(STD ::文字列のconst&)の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 -dテンプレートのクラス名を指定する) –