gpt4 book ai didi

c++ - 将模板结构的对象传递给另一个模板类的成员函数

转载 作者:行者123 更新时间:2023-12-01 14:48:18 27 4
gpt4 key购买 nike

我有一个模板类 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...
}

关于c++ - 将模板结构的对象传递给另一个模板类的成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60970382/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com