Vector frage
-
Hallo,
wenn ich folgendes probieren will, bekomme ich
Error: Der Ausdruck muss einen Zeigertyp aufweisen.:
for(vector<string>::size_type ax = 0; ax != m.size(); ++ax) { for(vector<string>::size_type ix = 0; ix != o.size(); ++ix) { cout << m[ax] << " " << o[ix] << " " << m[ax]->GetX/o[ix]->GetX << " " << ax << endl; } }Was kann ich machen, dass es klappt?
-
m[ax]->GetX/o[ix]->GetXWas soll das machen bei einem String? std::string hat keine Variable GetX und sowieso schonmal jemanden "Hallo" durch "Welt" teilen gesehen?
-
Ahja, danke. Gibt aber immer noch den gleichen Fehler aus

-
Der Compiler will dir sagen, dass der Ausdruck ... ist -.- habe meinen letzten post gerade editiert, bitte neu lesen.
Edit 100000: Außerdem sind da keine Zeiger, weshalb du den . operator verwenden müsstest. der Ausdruck ist sowas von verkehrt, lass ohn einfach weg oder sage was du machen willst, denn sonst gehts schief.
Edit: Und was willst du machen? Wenn m und o unterschiedliche Größe haben stürtz dein Programm auch noch ab...
-
Danke. Hat dank dir alles super geklappt.
Eine Frage hab ich noch. Bei
for(int da = 0; da <= anzahl2; da++) { for(int db = 0; db <= anzahl1; db++) { b = (A[db].GetDistanz()^2*D[da].GetDistanz()^2*(sin(Theta))^2)/(A[db].GetDistanz()^2-D[da].GetDistanz()^2*(cos(Theta))^2)^.5; cout << b << endl; } }bekomm ich beim hoch zwei
Der Ausdruck muss einen integralen Typ oder einen Enumerationswert aufweisen.
-
Es gibt kein hoch 2 in C++ du musst es mit sich selbst multiplizieren. Alternativ gibt es in cmath die Funktion pow.
Edit: Eine Wurzelfunktion gibt es da auch. Sie heißt sqrt. Siehe hier: http://www.cplusplus.com/reference/clibrary/cmath/
-
^ ist der binäre Exklusiv-Oder-Operator in C++ und hat mit dem Potenzieren nichts zu tun.