私は現在、ボックス内のガスをシミュレートするプログラムを作成しています。しかし、私はクラスオペレータの問題に出くわしました。残念なことにクラスを迷惑なものにすることはVectorと呼ばれています。非メンバ関数演算子+(...)はcv-qualifierを持つことができません
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;
}
私はこの問題をより明確にするために上記のコードをedittedています。私は彼らが問題に影響しないので、コンストラクターなどを除外しました。
と.cppのため
Vector.cpp
Vector operator+(const Vector v) const{
Vector v2(*this);
v2+=v;
return v2;
}
そして、彼のyeildsエラー:
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)' :
大変助かりました。
@BarryTheHatchet私はタイプミス(ちょうど宣言者がない)と解釈しました。実際には全く別の関数だとすれば、明らかにそうではありません。 – Barry