错误C2955模板+运算符

时间:2014-12-24 13:41:26

标签: c++

我需要一些关于这个小代码的帮助,其中包括运算符和模板的重新定义 但我一直收到这个错误:

  

错误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;
}

1 个答案:

答案 0 :(得分:1)

你需要说

template<class T>
int operator+(student<T> a, student<T> b)
...

你错过了T