Frage zum Rückgabewert von einer map mit insert-Methode
-
Hi Leute!
Ich hab heute diesen Code geschrieben:
int main() { map<string,string> map2; pair<string,string>v1("PM", "17.12.1986"); map2.insert(v1); if(map2.insert(v1).second) { cout << "richtig"; } else { cout << "falsch"; } return 0; }Wenn ich das jetzt kompiliere, dann geht er immer in falsch. Warum? Eigentlich sollte doch in "second" ein True stehen weil es ja eingefügt wurde. Ich kann den Inhalt ja sogar ausgeben!
Wo liegt mein Fehler?
-
Du hast ein pair<string,string>("PM", "17.12.1986") schon eingefügt. Ein zweites Mal is nich.
Vielleicht willst Du 'ne Multimap?
-
Aber ich hab doch hier
<string,string>("PM", "17.12.1986")noch gar nicht angegeben in welche map er einfügen soll, oder? Richtig in die Map einfüge tut man doch das erst wenn man die insert-Methode aufgerufen hat, oder?
-
Dann lies noch mal deinen Quelltext.
Z.B. die Zeilen 10 und 13.
-
Ah, nu hab ichs verstanden. Er versucht es in der Tat zweimal einzufügen. Zeile 10 is überflüssig.