template<typename T> ClassA
{
...
ClassA& operator=(const ClassA&);
...
};
// case one:
template<typename T>
ClassA<T>& ClassA<T>::operator=(const ClassA &rhs)
{ ... }
// case two:
template<typename T>
ClassA<T>& ClassA<T>::operator=(const ClassA<T> &rhs)
{ ... }
나는 올바른 경우를 가정합니다.과부하 연산자 = 내부 템플릿 클래스
질문> 두 번째와 같이 함수 매개 변수 목록에 ClassA<T>
을 사용해야하는 이유는 무엇입니까?
+1, 이는 묵시적이기 때문에. – iammilind
"클래스 템플릿 범위 내에서 클래스 템플릿의 이름에 템플릿 매개 변수를 지정해야합니다. 여기서 function 매개 변수는 classA의 범위 안에 있지 않으므로 대신 케이스 2를 사용해야한다고 생각했습니다. 하나의. " – q0987
@ iammilind : 암묵적인 이유 때문에 투표 하시겠습니까? –