我正在尝试创建一个运算符重载函数来添加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个向量。有人可以解释一下声明这个函数的正确方法吗?