VC7.1で、

//foo.h
template <typename T>
class foo
{
public :
  void bar(void) ;
} ;

//foo.cpp
#include "hoge.h"
template<typename T>
 void foo<T>::bar(void) {}

//main.cpp
#include "hoge.h"
int main()
{
  foo<int> hoge ;
  hoge.bar() ;
}

LNK2019: 未解決の外部シンボル "public: void __thiscall foo<int>::bar(void)" (?bar@?$foo@H@@QAEXXZ) が関数 _main で参照されました。

なぜかリンクできないのですが、どうすればいいのでしょうか?