new Objekt

amine89

Mitglied
Guten Abend zusammen !

kann mir jmd bitte sagen , wieso erkennt das Programm die member von der klasse ?
C++:
Vektor Vektor ::  *vektorKreuzprodukt(Vektor &v2){
        Vektor *test = new Vektor (*test); 
          
      test->x=((y*v2.z)-(z*v2.y));                  
      test->y=((z*v2.x)-(x*v2.z));       
      test->z=((x*v2.y)-(y*v2.x));                 
  cout << " Kreuzprodukt lautet" <<endl; 
  return &test;
}

Es zeigt mir : 'x' was not declared in this scope
'y' was not declared in this scope
'z' was not declared in this scope
Danke im voraus!
 
Hallo amine89

An diesem Code stimmen verschiedenste absolute Basics nicht. Ich erklär dir die Fehler kurz, aber du solltest in jedem Fall als nächstes ein gutes Buch zu C++ suchen, alles andere macht überhaupt keinen Sinn.

Vektor Vektor::*vektorKreuzprodukt(Vektor& v2)
Falsch: ::* -> das * hat da nichts zu suchen
Im Hinblick auf das return: Rückgabetyp hast du ein Vektorobjekt angegeben. im Return gibst du einen pointer auf einen pointer auf ein Vektorobjekt zurück

Vektor *test = new Vektor (*test);
Das macht überhaupt keinen Sinn. Du verwendest test in seiner eigenen Zuweisung, das kann nicht funktionieren.

return &test;
test ist vom Typ Vektor*, das heisst du gibst hier Vektor** zurück, die Funktion aber gibt Vektor zurück gemäss der Signatur.

Bis auf die Berechnung des Kreuzprodukts stimmt hier syntaktisch eigentlich überhaupt nichts.

Viele Grüsse
Cromon
 

Neue Beiträge

Zurück