我需要一些关于这个小代码的帮助,其中包括运算符和模板的重新定义 但我一直收到这个错误:
错误C2955使用类模板需要模板参数列表
#include<iostream>
using namespace std;
template <class T>
class student
{
friend int operator+(student &other1,student &other2);
public:
student(T g);
private:
int grade;
};
template <class T>
student<T>::student(T g)
{
grade=g;
}
void main()
{
student<int> s1(40),s2(90);
int sum;
sum=s1+s2;
cout<<"average="<<sum/2.0<<endl;
}//main
template <class T>
int operator+(student &other1,student &other2)
{
return other1.grade+other2.grade;
}
答案 0 :(得分:1)
你需要说
template<class T>
int operator+(student<T> a, student<T> b)
...
你错过了T