Ich schreibe gerade ein Programm, um Gas in einer Box zu simulieren. Aber ich bin auf ein Problem mit Klassenbetreibern gestoßen. Leider, um die Dinge nervig zu machen, heißt die Klasse Vector, ich weiß, manche werden nicht mögen, dass sie so genannt wird.Nicht-Mitgliedsfunktionsoperator + (...) kann keinen cv-Qualifier haben
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;
}
ich den Code editierte haben über dieses Problem deutlicher zu machen. Ich habe den Konstruktor usw. weggelassen, da sie das Problem nicht beeinflussen.
Und für CPP
Vector.cpp
Vector operator+(const Vector v) const{
Vector v2(*this);
v2+=v;
return v2;
}
Und seine yeilds Fehler:
C: \ Benutzer \ XXXXX \ ClionProjects \ XXXXX \ YYYYY \ Vector.cpp: 95: 34: Fehler: Nichtmitglied Funktion 'Vector operator + (Vector)' nicht haben cv-Qualifier
C: \ Benutzer \ XXXXX \ ClionProjects \ XXXXX \ YYYYY \ Vector.cpp: In Funktion 'Vector operator + (Vector)' :
Jede Hilfe sehr geschätzt.
@BarryTheHatchet Ich habe die Frage als Tippfehler gedeutet (fehlt nur der Deklarator).Angesichts der Tatsache, dass es tatsächlich eine ganz andere Funktion ist, ist das eindeutig nicht der Fall ... – Barry