template <class T> class Hoge
{
public:
template <class U> Hoge(Hoge<U> const & other) { ・・・ } // A

Hoge(Hoge const & other) { ・・・ } // B
};


↑のようなケースでAがあればBがなくてもコピーするのに特に問題ないんだけど
そういう場合ってBをわざわざ書く意味あるかな?
というかHoge<T>::Hoge<T>とHoge<T>::Hogeの違いがわからん