Multimap in Struktur



  • Hi all,

    Ich habe in einer Struktur eine Multimap mit einem String und einer anderen
    Struktur. Nun möchte ich diese Struktur in einen Vektor kopieren, bekomme
    aber immer entweder einen Fehler oder ich kann nicht auf die Struktur zugreifen.

    typedef std::multimap<std::string, BlockData> block_pair;
    /*BlockData ist die zweite Struktur*/
    
    struct ScriptData
    {
        block_pair DataVec;
    ...
    };
    
    ScriptData OpenScript(const HWND& hwnd, std::vector<BlockData>& Vec)
    {
        ScriptData Data;
            std::ostringstream Str;
    
        Data = GetScript(ofn.lpstrFile);
    
        for(block_pair::iterator Iter = Data.DataVec.begin(); Iter != Data.DataVec.end(); ++Iter)
            {
                Vec.push_back(Iter->second());
            }
    //Damit arbeiten
    
        return Data;
    }
    

    Wenn ich versuche mit dem Iterator etwas in den Vector Vec zu pushen kommt die
    Fehlermeldung:
    error C2064: Ausdruck ergibt keine Funktion

    Das hat der Iterator:

    Iter->distance_type
    Iter->iterator_category
    Iter->value_type

    Das würde die Fehlermeldung erklären. Aber warum kann ich nicht auf die
    BlockData Struktur zugreifen?



  • Versuchs mal so:

    Vec.push_back(Iter->second);



  • Tut Dummheit eigentlich weh? *aua*

    Danke Knuddlbaer so funktionierts.



  • Original erstellt von C Newbie:
    [QB]Tut Dummheit eigentlich weh? *aua*
    [QB]

    Hm, da es mir im moment gut geht, so ganz ohne schmerzen kann die Antwort nur lauten: Nein dummheit tut nicht weh ;o)


Anmelden zum Antworten