Hallo !
Leider kann man mit der Meldung relativ wenig anfangen, solange man die verwendeten Typen nicht kennt. Ich gehe jetzt einfach mal von std::ostream (Output) und std::map<> aus.
Die ostream::write Methode verlangt einen char Zeiger und keinen auf eine map. Deshalb müsstest du den Kompiler mit
| reinterpret_cast<char*>(&adressen_map)
|
dazu zwingen, die map wie eine Zeichenkette zu behandeln. Als Ergebnis würdest du jede Menge Müll und vieleicht auch ein bisschen was von dem was du willst bekommen, weil einfach alle Bytes der Map (bis zur ersten 0) ausgegeben werden. Du willst die Ausgabe aber vermutlich lesen können, und da du ein Mensch bist, wird das dann schwieriger (eher unmöglich)
Du kannst also maps nicht "einfach so" ausgeben, sondern musst über die Elemente iterieren und jedes einzeln ausgeben. Wenn dein Outputobjekt wirklich ein ostream ist, kannst du den operator<< statt write verwenden, der "funktioniert" für mehr als Zeichenketten. Damit musst du nicht jedes Schlüssel/Wert - Paar davor nicht auch noch selbst umwandeln.
Und wenn dir auch die Schleife auf Dauer zu viel Arbeit wird: operator<< selbst für maps überladen (je nachdem auch mit Templates, damit es für alle gilt) ☺
Yoschi