C++ 将模板化结构的对象传递给另一个模板化类的成员函数
我有一个模板类alpha_x give asC++ 将模板化结构的对象传递给另一个模板化类的成员函数,c++,templates,C++,Templates,我有一个模板类alpha_x give as 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_) {}; }; 模板 结构αx{ 常数T&alpha; 常数
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_) {};
};
模板
结构αx{
常数T&alpha;
常数标量&x;
alpha_x(常数T&a_,常数标量&x_):alpha(a_),x(x_){};
};
我还有一个类有一个操作符重载=
template <typename T>
class Scalar{
...
template <typename U,typename V>
const Scalar<T> & operator = (alpha_x<U,V> c);
...
}
模板
类标量{
...
模板
常量标量和运算符=(alpha_x c);
...
}
当我们试图定义这个函数时
template <typename T,typename U,typename V>
const Scalar<T> & Scalar<T>::operator = (alpha_x<U,V> c){
//do something...
}
模板
常量标量和标量::运算符=(alpha_x c){
//做点什么。。。
}
现在出现了一个错误“模板重新声明中的模板参数太多”。如何对其进行排序?
T
模板参数是类标量的模板参数。因此,需要在单独的模板参数列表中指定它
以下将起作用:
模板
模板
常量标量和标量::运算符=(alpha_x c){
//做点什么。。。
}
您是否尝试了模板模板
?这将对其进行排序。。。谢谢