gpt4 book ai didi

c++ - 非成员函数 operator+(...) 不能有 cv-qualifier

转载 作者:行者123 更新时间:2023-11-30 01:11:27 25 4
gpt4 key购买 nike

我目前正在编写一个程序来模拟盒子中的气体。但是我遇到了类运算符的问题。不幸的是,这个类被称为 Vector,这让事情变得烦人,我知道有些人不喜欢这样调用它。

vector .h

class Vector {
private:

double x;
double y;
double z;

public:

Vector & operator+=(const Vector & v){
x += v.x;
y += v.y;
z += v.z;
return *this;
}

我已经编辑了上面的代码以使这个问题更清楚。我省略了构造函数等,因为它们不会影响问题。

对于.cpp

vector .cpp

Vector operator+(const Vector v) const{
Vector v2(*this);
v2+=v;
return v2;
}

他的错误:

C:\Users\XXXXX\ClionProjects\XXXXX\YYYYY\Vector.cpp:95:34: 错误:非成员函数 'Vector operator+(Vector)' 不能有 cv-qualifier

C:\Users\XXXXX\ClionProjects\XXXXX\YYYYY\Vector.cpp: 在函数 'Vector operator+(Vector)' 中:

非常感谢任何帮助。

最佳答案

错误告诉您出了什么问题。你做了这些非成员函数,但它们应该是成员函数。编译器通过您(正确)使用 const 检测到问题,尽管参数的数量也不足,一旦第一个被修复,这将是进一步的编译错误。

要么你忘记把这些函数定义放在class Vector { ... }; 区域,要么你忘记在operator 之前写Vector::

关于c++ - 非成员函数 operator+(...) 不能有 cv-qualifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36135613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com