>>689
テンプレート関数・クラスを前方宣言すると、解決しない?

template <class T> class Wrapper;
template <class T> ostream& operator<<(ostream& stream, const Wrapper<T>& obj);