所以我正在制作一个程序,它将对多项式进行一些运算,并且我正在使用一个充满我定义的结构的向量来表示一个多项式。我正在尝试做的部分事情是重载 +,-,*.+=,-= 和 *= 运算符。
term 是我定义的结构。
我试图在一个类中包含所有重载方法。
我有一个文件可以重载它并且工作正常。该方法定义为:
vector<term> operator+(vector<term> t1, vector<term> t2)
当我尝试将其放入 c++ 头文件中以在类中使用它时,我收到此错误:
标头中的方法声明:
vector<term> operator+(vector<term> v1,vector<term> v2);
我得到的错误:
poly.h:25:71: error: ‘std::vector<term> Polynomial::operator+(std::vector<term>, std::vector<term>)’ must take either zero or one argument
vector<term> operator+(const vector<term> v1,const vector<term> v2);
为什么它会在一种情况下起作用,而在另一种情况下不起作用?
我是 C++ 新手,如果我错过任何明显的错误,请原谅。