Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Zugriffsfehler auf map-Objekt

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
29.06.2009, 21:02 Uhr
~Cia
Gast


Hallo zusammen.

Folgender Code liefert die Fehlermeldung "Speicherzugriffsfehler".


Code:
//Programmabschnitt

string wort;
int zahl;
map<string,int> liste;

while(cin >> wort >> zahl)
   liste["wort"] += zahl;

liste.erase(liste.find(wort));  //letzten Eintrag löschen

map<string,int>::const_iterator iter;

for(iter=liste.begin(); iter!=liste.end(); iter++)
   cout << iter->first << '\t' << iter->second << endl;

//****************************************



Warum erhalte ich eine Fehlermeldung beim Auslesen des letzten Elements des map-Objekts. Das letzte Element wird doch gelöscht. Demnach rückt liste.end() doch eins nach oben - oder nicht?

Gruß
Cia
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.06.2009, 21:06 Uhr
~Cia
Gast



Zitat von ~Cia:


Hier habe ich nur verschrieben:

Statt

Code:
liste["wort"] += zahl;


lautet es natürlich

Code:
liste[wort] += zahl;



Cia
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
29.06.2009, 21:21 Uhr
Kest
saint


Hi!

Ich sehe keine Fehler.

Poste mal den ganzen Code, wenn der nicht zu groß ist.
--
Wenn man einen Hufschlag hört, sollte man >Pferd< denken und nicht >Zebra<.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: