map, pair, make_pair, insert, wtf?!?!
-
Hallo,
folgender Code:std::map< BODFileEntry, std::pair< std::string, std::string > > m_FilesBuffer; std::pair< std::string, std::string > Pair( rFilePath, "" ); std::pair< BODFileEntry, std::pair< std::string, std::string > > PairEntry( Entry, Pair ); m_FilesBuffer.insert( PairEntry );(Die Datentypen stimmen)
Die Fehlermeldungen fangen bei:
error C2784: "bool std::operator <(const std::list<_Ty,_Ax> &,const std::list<_Ty,_Ax> &)": template-Argument für "const std::list<_Ty,_Ax> &" konnte nicht von "const LegoFile::BODFileEntry" hergeleitet werden.an, und hören bei:
error C2676: Binärer Operator '<': 'const LegoFile::BODFileEntry' definiert diesen Operator oder eine Konvertierung in einen für den vordefinierten Operator geeigneten Typ nichtauf. Wo ist mein Fehler? Stehe etwas auf dem Schlauch.
Vielen dank im voraus!
-
Es muss einen operator< für deinen Schlüsseltyp geben (oder du musst beim Erstellen der map ein anderes Vergleichsprädikat angeben), damit die map weiß, wie sie die Schlüssel sortieren muss.
-
Kein kompletter Code, keine vollständige Fehlermeldung, keine Möglichkeit, dir eine sinnvolle Antwort zu geben.
Siehe Links in meiner Signatur...
-
MFK schrieb:
Es muss einen operator< für deinen Schlüsseltyp geben (oder du musst beim Erstellen der map ein anderes Vergleichsprädikat angeben), damit die map weiß, wie sie die Schlüssel sortieren muss.
Danke dir! Klappt nun.
-
pumuckl schrieb:
Kein kompletter Code, keine vollständige Fehlermeldung, keine Möglichkeit, dir eine sinnvolle Antwort zu geben.
Siehe Links in meiner Signatur...
Wieso? Sind doch alle relevanten Infos da!?