C ++运算符重载错误C2804参数太多

时间:2018-02-08 20:14:51

标签: c++ c++11

我正在尝试创建一个运算符重载函数来添加2个向量。宣言如下:

class VecOperations
{
public:
    std::vector<double> operator + (const std::vector<double> &, const std::vector<double> &);
};

但是有错误binary operator + has too many parameters。知道为什么会这样吗?我想添加2个带有运算符重载的向量。

编辑: 看了https://stackoverflow.com/a/4421719/9329547

之后
class X {
  X& operator+=(const X& rhs)
  {
    // actual addition of rhs to *this
    return *this;
  }
};
inline X operator+(X lhs, const X& rhs)
{
  lhs += rhs;
  return lhs;
}

我很困惑,因为在我的问题中,我没有将类实例传递给运算符重载函数,而是传递2个向量。有人可以解释一下声明这个函数的正确方法吗?

0 个答案:

没有答案