2011-10-23 23 views
1

、私はthe post "Template assignment operator overloading mystery"にジェームズMcNellisの答えを引用しています:テンプレートクラスの代入演算子

次のように宣言されている暗黙的に宣言したコピー代入演算子は、まだ生成されます。

Wrapper& operator=(const Wrapper&); 

今、私は似たクラスを持ち、この演算子の定義がどのようなものかを知りたいと思います。ここで

はリコールのためのクラスです:

template<typename T> 
struct Wrapper; 

今訂正マッチとは何ですか:

template<typename T> 
Wrapper& Wrapper<T>::operator=(const Wrapper&) 

または

Wrapper& Wrapper::operator=(const Wrapper&) 

これはまったく同じですか?本当に他のバージョンはWrapperという名前の非テンプレートクラスに適用される

template<typename T> 
Wrapper<T>& Wrapper<T>::operator=(const Wrapper<T>&) 

のためだけの省略形です

答えて

2

この

template<typename T> 
Wrapper& Wrapper<T>::operator=(const Wrapper&) 

、それはあなたのテンプレートには影響しません。

+0

+1:素晴らしい!あなたに感謝します! – Atmocreations

関連する問題