Hi Leute,
ich habe mir eine Klasse V3D geschrieben, die 3D Vektoren verwalten können soll.
Soweit so gut. Die Klasse hat drei Variabeln x, y, z für die Komponenten. Dann habe ich mit folgendem Code versucht die Addtion zu definieren:
Aufgerufen und probiert wird mit:
Die Funktione Prin ist Extra definiert und gibt mir später einfach einen Vektor auf der Konsole aus.
Die Fehlermeldung lautet:
Ich kann an keiner Stelle erkennen, dass ein Konvertierung in int vorgenommen werden müsste. Hoffe einer kann sehen was hier schiefgeht.
Rene42
ich habe mir eine Klasse V3D geschrieben, die 3D Vektoren verwalten können soll.
Soweit so gut. Die Klasse hat drei Variabeln x, y, z für die Komponenten. Dann habe ich mit folgendem Code versucht die Addtion zu definieren:
PHP:
//Addition von Vektoren
V3D V3D::operator+(V3D A)
{
x = x + A.x;
y = y + A.y;
z = z + A.z;
return this;
}
Aufgerufen und probiert wird mit:
PHP:
#include <cstdlib>
#include <iostream>
#include "Vektor3D.h"
using namespace std;
V3D V(2,4,6), W(3,5,7); //Dies konstruiert einfach zwei Vektoren
float a,b,c;
int main(int argc, char *argv[])
{
V3D S = V + W;
cout << S.Prin();
system("PAUSE");
return EXIT_SUCCESS;
}
Die Funktione Prin ist Extra definiert und gibt mir später einfach einen Vektor auf der Konsole aus.
Die Fehlermeldung lautet:
C:\Dev-Cpp\Simulation\Vektor3D.h In member function `V3D V3D:perator+(V3D)':
C:\Dev-Cpp\Simulation\Vektor3D.h invalid conversion from `V3D* const' to `int'
C:\Dev-Cpp\Simulation\Vektor3D.h initializing argument 1 of `V3D::V3D(int)'
Ich kann an keiner Stelle erkennen, dass ein Konvertierung in int vorgenommen werden müsste. Hoffe einer kann sehen was hier schiefgeht.
Rene42