Problem mit Objekt in Vektor
-
#include <iostream> #include <vector> #include <sstream> #include <conio.h> #include <cstring> #include <cctype> using namespace std; int startgeld = 1000; std::string startpin = "0000"; class user{ public: std::string p; int usrf; int u; std::string n; int g; user() { u=startgeld; p=startpin; g=0; ostringstream Str; Str << benutzer; string name(Str.str()); n=name; ++benutzer; } ~user() { --benutzer; } }; int main() { int usr=0; vector<user> u; user muster; u.push_back(muster); std::string pin; std::cout<<"User: "; std::cin >> usr; std::cout<<"Pin: "; std::cin >> pin; if(pin==u[usr].p) { //... } return 0; }besser?

-
Hi !
Du musst sicherstellen, das du auch entsprechend viele Elemente im Vektor hast:usr <= u.size()-1;
-
ja mach ich schon , ich will nur nicht 700 zeilen code posten, aber es geht mir nur um die eine Zeile, sonst gehts ja
-
Also damit hat mein Compiler kein Problem, es gibt keine Fehlermeldung diesbezüglich.
-
aaaaaaaaah!
jetzt geht das bei mir auch, aber alles Zusammen noch nicht.
EDIT: Es sieht irgendwie so aus, als würde er die Definition des Vektors nicht erkennen, aber ich habs direkt nach int main() definiert.
Also u.push_back() geht, u[1].p auch. Nur bei u[usr].p kommen so Sachen wie:error C2679: Binärer Operator '[': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'std::string' akzeptiert (oder keine geeignete Konvertierung möglich)
oder
error C2228: Links von ".p" muss sich eine Klasse/Struktur/Union befinden.
-
hi,
ich hab jetz nochml das gesamte programm hochgeladen, falls mir dann jemand besser helfen kann:
http://web4.v219.ncsrv.de/main.cpp
ist warscheinlich ziemlich schlechtes C++ aber bis auf die 9 fehler funktionierts gut.
Danke im Voraus,
RussellEDIT: WIeder jemand, der "voraus" nicht schreiben kann^^
-
ist warscheinlich ziemlich schlechtes C++
Da hast du nicht untertrieben.
std::string usr="";
-
ja ich weiß schon

aber funktionierts bei dir denn?
-
russell schrieb:
ja ich weiß schon

aber funktionierts bei dir denn?Was heisst du weißt schon ?
usr ist ein string.
Wie soll denn das funktionieren ?std::string usr=""; ... if(pin==ben[usr].p
-
auuuuuu

jetzt erst gesehen. vieln dank!