C++ 在模板类中使用友元运算符重载函数,错误为未定义引用
这是我的代码和声明,我不知道如何用模板类正确设置友元函数。有人能告诉我我做错了什么,为什么吗 谢谢C++ 在模板类中使用友元运算符重载函数,错误为未定义引用,c++,templates,overloading,friend,C++,Templates,Overloading,Friend,这是我的代码和声明,我不知道如何用模板类正确设置友元函数。有人能告诉我我做错了什么,为什么吗 谢谢 private: int size; T* buff; friend Vector<T> operator * (const int n, const Vector<T> & v); friend Vector<T> operator + (const int n, const Vector<T>
private:
int size;
T* buff;
friend Vector<T> operator * (const int n, const Vector<T> & v);
friend Vector<T> operator + (const int n, const Vector<T> & v);
template<typename T>
Vector<T> operator * (const int n, const Vector<T> & v){
Vector<T> vec(v.size);
vec.size = v.size;
for(int i = 0;i<vec.size;i++){
vec.buff[i] = v.buff[i]*n;
}
}
template<typename T>
Vector<T> operator+ (const int n, const Vector<T> & v){
Vector<T> vec(v.size);
vec.size = v.size;
for(int i = 0;i<vec.size;i++){
vec.buff[i] = v.buff[i]*n;
}
}
私人:
整数大小;
T*buff;
友元向量运算符*(常数int n,常数向量&v);
友元向量运算符+(常数int n,常数向量&v);
模板
向量运算符*(常数整数n,常数向量&v){
向量向量向量(v.size);
向量大小=向量大小;
对于(int i=0;i请添加一个最小的可复制代码Undefined reference,未定义的引用通常意味着您与重新阅读有冲突,如果这回答了您的问题,我们将作为副本关闭。如果没有,请。