alpha_x 템플릿 클래스가 있습니다.
template <typename T,typename U>
struct alpha_x {
const T & alpha;
const Scalar<U> & x;
alpha_x(const T & a_, const Scalar<U> & x_) : alpha(a_), x(x_) {};
};
연산자에 대한 오버로드가있는 다른 클래스가 있습니다 =
template <typename T>
class Scalar{
...
template <typename U,typename V>
const Scalar<T> & operator = (alpha_x<U,V> c);
...
}
이 함수를 정의하려고하면
template <typename T,typename U,typename V>
const Scalar<T> & Scalar<T>::operator = (alpha_x<U,V> c){
//do something...
}
이제 "템플릿 재 선언에 템플릿 매개 변수가 너무 많습니다."라는 오류가 발생합니다. 이것을 어떻게 분류합니까?
T
템플릿 매개 변수는 클래스 Scalar
의 템플릿 매개 변수입니다. 따라서 별도의 템플릿 매개 변수 목록에 지정해야합니다.
다음은 작동합니다.
template <typename T>
template <typename U, typename V>
const Scalar<T> & Scalar<T>::operator = (alpha_x<U,V> c){
// do something...
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다