テンプレートを使用して汎用キューを実装しようとしています。
ヘッダーに次のコードがあります。
template<class Item>
class Queue{
protected:
struct linked_list;
int size;
public:
Queue();
Queue(Item T);
};
私はQueue.cppを持っています:
template<class Item>
Queue<Item>::Queue()
{
}
template<class Item>
Queue<Item>::Queue(Item T)
{
}
しかし、コンパイルするたびに、外部が未解決であるためにリンカーエラーが発生します。
VS2012を2回再インストールしました(リンカーが壊れていると思います)が、問題が引き続き発生します。
テンプレートを操作するときに関数の実装が別のファイルにあることに問題があることを読みましたが、実装をヘッダーに配置する以外の解決策は見当たりませんでした。
これを行うためのよりエレガントな方法はありますか?