2011-10-23 47 views
1

爲了澄清,我引述詹姆斯McNellis答案the post "Template assignment operator overloading mystery"賦值操作符的模板類

的隱式聲明的拷貝賦值運算符,其聲明如下,仍然產生:

Wrapper& operator=(const Wrapper&); 

現在我有一個類似的類,想知道這個運算符的定義需要什麼樣子。

這裏的召回類:

template<typename T> 
struct Wrapper; 

- 現在是修正的比賽:

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

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

或者這是一樣的嗎?

回答

2

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

這實際上只是

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

速記另一個版本將適用於一個名爲Wrapper非模板類,但對你的模板沒有影響。

+0

+1:太好了!非常感謝你! – Atmocreations